作成日: 2021/12/09 最終更新日: 2021/12/09
文書種別
技術情報
詳細
新しいスタイルシステムが有効な状態(LegacyBehaviors≠Style)では、セルは既定でフラットスタイルとなります。フラットスタイルでは、セルのTextプロパティや実行画面から日付が設定された場合、そのValueプロパティにはシリアル値が保持され、Valueプロパティのデータ型を取得するとdouble型と判定されてしまいます。
フラットスタイルで書式設定された値を取得する場合には、Valueプロパティではなく、 IRangeインタフェースのFormattedValueプロパティを使用します。
フラットスタイルで書式設定された値を取得する場合には、Valueプロパティではなく、 IRangeインタフェースのFormattedValueプロパティを使用します。
◎サンプルコード(VB)
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Me.Text = "LegacyBehaviors = " & (FpSpread1.LegacyBehaviors).ToString
FpSpread1.ActiveSheet.ColumnCount = 1
FpSpread1.ActiveSheet.RowCount = 5
FpSpread1.ActiveSheet.Columns(0).Width = 130
FpSpread1.ActiveSheet.RowHeader.Columns(0).Width = 180
'項目セット
FpSpread1.ActiveSheet.RowHeader.Cells(0, 0).Value = "設定データ"
FpSpread1.ActiveSheet.RowHeader.Cells(1, 0).Value = "Value"
FpSpread1.ActiveSheet.RowHeader.Cells(2, 0).Value = "Value.GetType"
FpSpread1.ActiveSheet.RowHeader.Cells(3, 0).Value = "FormattedValue"
FpSpread1.ActiveSheet.RowHeader.Cells(4, 0).Value = "FormattedValue.GetType"
'データセット
FpSpread1.ActiveSheet.Cells(0, 0).Text = "2021/12/9"
FpSpread1.ActiveSheet.Cells(1, 0).Value = FpSpread1.ActiveSheet.Cells(0, 0).Value
FpSpread1.ActiveSheet.Cells(2, 0).Value = FpSpread1.ActiveSheet.Cells(0, 0).Value.GetType().ToString
FpSpread1.ActiveSheet.Cells(3, 0).Value = FpSpread1.ActiveSheet.AsWorksheet().Cells(0, 0).FormattedValue
FpSpread1.ActiveSheet.Cells(4, 0).Value = FpSpread1.ActiveSheet.AsWorksheet().Cells(0, 0).FormattedValue.GetType().ToString
End Sub
End Class
◎サンプルコード(C#)
public Form1()
{
InitializeComponent();
this.Text = "LegacyBehaviors = " + fpSpread1.LegacyBehaviors.ToString();
}
private void Form1_Load(object sender, EventArgs e)
{
fpSpread1.ActiveSheet.ColumnCount = 1;
fpSpread1.ActiveSheet.RowCount = 5;
fpSpread1.ActiveSheet.Columns[0].Width = 130;
fpSpread1.ActiveSheet.RowHeader.Columns[0].Width = 180;
//項目セット
fpSpread1.ActiveSheet.RowHeader.Cells[0, 0].Value = "設定データ";
fpSpread1.ActiveSheet.RowHeader.Cells[1, 0].Value = "Value";
fpSpread1.ActiveSheet.RowHeader.Cells[2, 0].Value = "Value.GetType";
fpSpread1.ActiveSheet.RowHeader.Cells[3, 0].Value = "FormattedValue";
fpSpread1.ActiveSheet.RowHeader.Cells[4, 0].Value = "FormattedValue.GetType";
//データセット
fpSpread1.ActiveSheet.Cells[0, 0].Text = "2021/12/9";
fpSpread1.ActiveSheet.Cells[1, 0].Value = fpSpread1.ActiveSheet.Cells[0, 0].Value;
fpSpread1.ActiveSheet.Cells[2, 0].Value = fpSpread1.ActiveSheet.Cells[0, 0].Value.GetType().ToString();
fpSpread1.ActiveSheet.Cells[3, 0].Value = fpSpread1.ActiveSheet.AsWorksheet().Cells[0, 0].FormattedValue;
fpSpread1.ActiveSheet.Cells[4, 0].Value = fpSpread1.ActiveSheet.AsWorksheet().Cells[0, 0].FormattedValue.GetType().ToString();
}
<実行イメージ>
