StandardNumericModeで書式設定した内容が正常にエクスポートされない

文書番号 : 39477     文書種別 : 不具合     登録日 : 2016/07/27     最終更新日 : 2016/07/27
文書を印刷する
対象製品
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));
--------------------------------------------------
回避方法
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);
--------------------------------------------------