StandardNumericModeで書式設定した内容が正常にエクスポートされない
対象製品
SpreadJS 9J
状況
修正済み
詳細
セルの書式設定でStandardNumericModeを使用すると、正常にエクスポートされない現象が発生します。
【現象再現手順】
--------------------------------------------------
1. 以下のコードをSpreadJSに設定し、エクスポート処理を行います
2. エクスポートしたファイルをMicrosoft Excelで開きます
- 「<ファイル名>には読み取れない内容が含まれています。
このブックの内容を回復しますか?」というエラーが発生します。
- はいを選択するとブック内容の復元が行われますが、
StandardNumericModeを使用した部分の設定は反映されない状態になります。
- また、該当のセルに並行してフォント設定を行っていた場合、
フォント設定も設定は反映されない状態になります。
--------------------------------------------------
【現象再現コード】
--------------------------------------------------
sheet.getColumn(3).font("10pt MS PGothic");
sheet.getCell(2, 3).formatter(new $.wijmo.wijspread.GeneralFormatter("N0", $.wijmo.wijspread.FormatMode.StandardNumericMode));
sheet.getCell(2, 4).formatter(new $.wijmo.wijspread.GeneralFormatter("p", $.wijmo.wijspread.FormatMode.StandardNumericMode));
--------------------------------------------------
【現象再現手順】
--------------------------------------------------
1. 以下のコードをSpreadJSに設定し、エクスポート処理を行います
2. エクスポートしたファイルをMicrosoft Excelで開きます
- 「<ファイル名>には読み取れない内容が含まれています。
このブックの内容を回復しますか?」というエラーが発生します。
- はいを選択するとブック内容の復元が行われますが、
StandardNumericModeを使用した部分の設定は反映されない状態になります。
- また、該当のセルに並行してフォント設定を行っていた場合、
フォント設定も設定は反映されない状態になります。
--------------------------------------------------
【現象再現コード】
--------------------------------------------------
sheet.getColumn(3).font("10pt MS PGothic");
sheet.getCell(2, 3).formatter(new $.wijmo.wijspread.GeneralFormatter("N0", $.wijmo.wijspread.FormatMode.StandardNumericMode));
sheet.getCell(2, 4).formatter(new $.wijmo.wijspread.GeneralFormatter("p", $.wijmo.wijspread.FormatMode.StandardNumericMode));
--------------------------------------------------
回避方法
SpreadJS 9J SP1(Ver.3.20152.21)で修正済み
SpreadJS 9J SP1(Ver.3.20152.21)より前のバージョンでは次の回避方法が有効です。
------------------------------------------
下記の回避コードのように、StandardNumericFormatのかわりにExcel互換の書式を設定し、エクスポート時に"SaveAsViewed"オプションを設定することで現象の回避が可能です。
【回避コード】
--------------------------------------------------
//書式の設定
activeSheet.getCell(2, 3).formatter("#,##0");
activeSheet.getCell(2, 4).formatter("0.00%");
((途中、省略))
//エクスポートオプションの設定
var dataObj={
"spread":spread.toJSON(),
"exportFileType":"xlsx",
"excel":{
"saveFlags": "SaveAsViewed",
"password":""
}
};
var content=JSON.stringify(dataObj);
--------------------------------------------------
SpreadJS 9J SP1(Ver.3.20152.21)より前のバージョンでは次の回避方法が有効です。
------------------------------------------
下記の回避コードのように、StandardNumericFormatのかわりにExcel互換の書式を設定し、エクスポート時に"SaveAsViewed"オプションを設定することで現象の回避が可能です。
【回避コード】
--------------------------------------------------
//書式の設定
activeSheet.getCell(2, 3).formatter("#,##0");
activeSheet.getCell(2, 4).formatter("0.00%");
((途中、省略))
//エクスポートオプションの設定
var dataObj={
"spread":spread.toJSON(),
"exportFileType":"xlsx",
"excel":{
"saveFlags": "SaveAsViewed",
"password":""
}
};
var content=JSON.stringify(dataObj);
--------------------------------------------------