SPREAD for WPF 3.0J - GcSpreadSheet
数式のオートフォーマット
SPREAD for WPF 3.0J - GcSpreadSheet > 開発者ガイド > 数式と関数 > 数式のオートフォーマット

GcSpreadSheetは、Excel 2019およびExcel for Office 365と同様に、数式が返すデータタイプによって結果の値を自動的に書式設定します。本機能は、セルの数式の戻り値に基づいて自動的に書式化する場合に特に役立ちます。

FeaturesクラスのAutoFormattingプロパティをtrueに設定することで、数式のオートフォーマット機能を有効に設定することができます。戻り値は、関数の引数に応じて、日付、数値、またはセル参照になります。

日付書式

日付値を返す関数(たとえば、TODAY、DATEなど)を使用でき、Excelの場合と同様にワークシートのセルに自動的に日付書式が適用されます。

数値書式

数値を返す関数(たとえば、SUM, SUBTOTAL, RATE, IRR, DB, FVなど)を使用でき、Excelの場合と同様にワークシートのセルに自動的に数値書式が適用されます。

セル参照書式

数式にてセル参照を使用でき、Excelの場合と同様にワークシートのセルに自動的にセル参照の書式が適用されます。

次は、オートフォーマット機能が有効になっている場合に数式が自動的に書式設定されることを示す画像です。

 

次のサンプルコードは、数式にオートフォーマット機能を適用する方法を示します。

コードのコピー
// 数式をオートフォーマットします。
GcSpreadSheet.Workbook.Features.AutoFormatting = true;
GcSpreadSheet.Workbook.ActiveSheet.Cells[0, 0].Text = "AutoFormattingは「True」に設定されています。";
GcSpreadSheet.Workbook.ActiveSheet.Cells[0, 0].Interior.Color = GrapeCity.Spreadsheet.Color.FromKnownColor(GrapeCity.Core.KnownColor.Thistle);
GcSpreadSheet.Workbook.ActiveSheet.Cells[0, 0, 0, 3].Merge(true, true, true);
GcSpreadSheet.Workbook.ActiveSheet.Columns[1, 2].ColumnWidth = 130;
// 1. 数値書式
GcSpreadSheet.Workbook.ActiveSheet.Cells["A2"].Text = "RATE(60,-5,150)";
GcSpreadSheet.Workbook.ActiveSheet.Cells["B2"].Formula = "RATE(60,-5,150)";
// 2. 日付書式
GcSpreadSheet.Workbook.ActiveSheet.Cells["A3"].Text = "Today()";
GcSpreadSheet.Workbook.ActiveSheet.Cells["B3"].Formula = "Today()";
コードのコピー
'数式をオートフォーマットします。
GcSpreadSheet.Workbook.Features.AutoFormatting = True
GcSpreadSheet.Workbook.ActiveSheet.Cells(0, 0).Text = "AutoFormatting is set to True"
GcSpreadSheet.Workbook.ActiveSheet.Cells(0, 0).Interior.Color = GrapeCity.Spreadsheet.Color.FromKnownColor(GrapeCity.Core.KnownColor.Thistle)
GcSpreadSheet.Workbook.ActiveSheet.Cells(0, 0, 0, 3).Merge(True, True, True)
GcSpreadSheet.Workbook.ActiveSheet.Columns(1, 2).ColumnWidth = 130
' 1. 数値書式
GcSpreadSheet.Workbook.ActiveSheet.Cells("A2").Text = "RATE(60,-5,150)"
GcSpreadSheet.Workbook.ActiveSheet.Cells("B2").Formula = "RATE(60,-5,150)"
' 2. 日付書式
GcSpreadSheet.Workbook.ActiveSheet.Cells("A3").Text = "Today()"
GcSpreadSheet.Workbook.ActiveSheet.Cells("B3").Formula = "Today()"