SpreadJS製品ヘルプ
基本書式
機能 > セル > セルの書式設定 > 基本書式

標準の数値、日時、カスタム形式、およびその他のさまざまな形式オプションを使用して、セルの値をフォーマットすることができます。

セルにフォーマット文字列を設定するにはsetFormatterメソッドを使用し、セルのフォーマット文字列を取得するにはgetFormatter メソッドを使用します。

また FormatterBase クラスを使用してカスタムフォーマッタを作成することもできます。このクラスはこのクラスは、コンボフォーマッタ、条件付きフォーマッタ、前景色フォーマッタをサポートしています。"(", ")",および "*" 式はサポートしていません。

標準値のフォーマット

セル、列、または行を取得するには、formatterメソッドを使用してセルのフォーマッターを取得および設定します。

次のコード例は、さまざまなフォーマットスタイルでセル値をフォーマットする方法を示しています。

JavaScript
コードのコピー
var dvalue= 12345.6789;
activeSheet.setValue(0,0,dvalue);
activeSheet.getCell(0, 1).formatter("M");
activeSheet.setValue(0, 1, new Date(2011, 2, 9));
activeSheet.getCell(0, 2).formatter("m");
activeSheet.setValue(0, 2, new Date(2012, 10, 15));
activeSheet.getCell(0, 3).formatter("General");
activeSheet.setValue(0, 3, new Date(2012, 10, 15));
activeSheet.getCell(0, 4).formatter("#.#%");
activeSheet.setValue(0, 4, 1);
activeSheet.getCell(1, 0).formatter('[<0](0.0);[>0]0.0;"zero";@');
activeSheet.setValue(1, 0, 3);

分数フォーマット

SpreadJSは、"# ?/?"、"# ?/?"、"# ?/4"、"#,# ?/? "などの一般的な分数形式をサポートしています。負の値を分数に変換することができます。

次のコード例では、セルの値を分数としてフォーマットしています。

JavaScript
コードのコピー
var dvalue= 123.89;
activeSheet.setValue(0,0,dvalue);
activeSheet.getCell(0, 0).formatter("# ??/??");

DBNumberのフォーマット

SpreadJSは、ロケールID"$-411"とDBNumberもサポートしています。

次のコード例では、ロケールID"$-411"を使用してセルの値をフォーマットしています。

JavaScript
コードのコピー
var dvalue= 123.89;
activeSheet.setValue(0,0,dvalue);
activeSheet.getCell(0,0).formatter("[$-411]dddd");

次のコード例は、DBNumber を使ってセル値をフォーマットするものです。

JavaScript
コードのコピー
var dvalue= 123.89;
activeSheet.setValue(0,0,dvalue);
activeSheet.getCell(0,0).formatter("[DBNum2][$-411]General");

カルチャーフォーマット

カルチャを「ja-jp」または「en-us」に設定することもできます。ウィジェットまたは個々のセルのカルチャを指定します。

次のコード例は、ウィジェットのカルチャを設定します。

JavaScript
コードのコピー
// ウィジェットの設定。
GC.Spread.Common.CultureManager.culture("ja-jp");

数値は、現在のカルチャに基づいてフォーマットされます。デフォルトのカルチャは英語です。セルのカルチャはウィジェットのカルチャを変更しません。

次のコード例では、セルにカルチャを設定します。

JavaScript
コードのコピー
// セルの設定。
//Input date string "2014/01/07" in cell[0,0] and cell[0,1]
activeSheet.getCell(0,0).formatter(new GC.Spread.Formatter.GeneralFormatter("yyyy/MM/dd dddd", "ja-jp"));
activeSheet.getCell(0,1).formatter(new GC.Spread.Formatter.GeneralFormatter("yyyy/MM/dd dddd", "en-us"));

カラーフォーマット

カラーフォーマットはforeColorに影響し、[red] や [blue] などの色名とカラーインデックス(color1~color56)をサポートしています。

Color Index Formatting

次のコード例は、インデックスによるカラーフォーマットを設定し、値域に応じてセルの色を変更する方法です。

JavaScript
コードのコピー
activeSheet.getRange(2,2,1,6).formatter("[color44][<300]0.0;[color3][>400]0.0;[color45]0.0")
activeSheet.getCell(2,2).value(100);
activeSheet.getCell(2,3).value(200);
activeSheet.getCell(2,4).value(300);
activeSheet.getCell(2,5).value(400);
activeSheet.getCell(2,6).value(500);
activeSheet.getCell(2,7).value(600);
注意: 数式でカラーインデックスを使用しても、Excelエクスポートでは色の効果はありません。