saveメソッドで空のファイルがエクスポートされる

文書番号 : 39521     文書種別 : 不具合     登録日 : 2016/08/16     最終更新日 : 2017/03/29
文書を印刷する
対象製品
SpreadJS 9J
発生環境
SP1(9.20161.0)
状況
修正済み
詳細
saveメソッドで出力されたエクセルファイルの内容が空になる場合があります。
回避方法
SpreadJS 9J SP2(Ver.9.20171.0)で修正済み
SpreadJS 9J SP2(Ver.9.20171.0)より前のバージョンでは次の回避方法が有効です。
------------------------------------------

saveメソッドの引数となるJSONデータに下記のような処理を実行することで現象の回避が可能です。

【回避策】
--------------------------------------------------
var workbook = new GC.Spread.Sheets.Workbook(document.getElementById("ss"));
var json = JSON.stringify(workbook.toJSON());

//saveメソッド用のJSONデータに対し、下記の処理を実施します
var spreadObj = JSON.parse(json);
for (var sheetName in spreadObj.sheets) {
  var sheet = spreadObj.sheets[sheetName];
  if ((!sheet.rows || sheet.rows.length === 0) ) {
    sheet.rows = [{}];
  }
}
json = JSON.stringify(spreadObj);

//上記のJSONを使用してsaveメソッドをコールします
excelIo.save(json, function (blob) {
・・・以下省略
--------------------------------------------------