SpreadBuilderで出力したExcelファイルを開いても、セルの表示にはNumberFormatプロパティで設定した書式が反映されていません。

文書番号 : 33988     文書種別 : 使用方法     登録日 : 2012/12/19     最終更新日 : 2013/02/22
文書を印刷する
対象製品
ActiveReports for .NET 7.0J
詳細
SetValueメソッドでセルにセットするデータが文字列型になっている場合、Excel上では、NumberFormatプロパティで設定された書式は適用されず、セットされた文字列がそのまま表示されます。この場合、セルをダブルクリックするなどの操作を行い、文字列を数値に変換しなければ、書式は適用されません。

NumberFormatプロパティの書式を有効にする場合、SetValueメソッドの引数には、文字列型データではなく、数値型データを指定してください。

◆サンプルコード(VB.NET)
Dim sb As New GrapeCity.SpreadBuilder.Workbook()
sb.Sheets.AddNew()

' セルの書式を設定します。
sb.Sheets(0).Cell(0, 0).NumberFormat = "#,##0.0"

' 文字列型データをセットした場合、書式は有効になりません。
'sb.Sheets(0).Cell(0, 0).SetValue("12345.6")
' 書式を有効にするには、数値型データをセットします。

sb.Sheets(0).Cell(0, 0).SetValue(12345.6D)

sb.Save("c:¥work¥sample.xls")

◆サンプルコード(C#)
GrapeCity.SpreadBuilder.Workbook sb = new GrapeCity.SpreadBuilder.Workbook();
sb.Sheets.AddNew();

// セルの書式を設定します。
sb.Sheets[0].Cell(0, 0).NumberFormat = "#,##0.0";

// 文字列型データをセットした場合、書式は有効になりません。
//sb.Sheets[0].Cell(0, 0).SetValue("12345.6");
// 書式を有効にするには、数値型データをセットします。

sb.Sheets[0].Cell(0, 0).SetValue(12345.6d);

sb.Save(@"c:¥work¥sample.xls");
関連情報
キーワード
問題 エクスポート