インポート後に条件付き書式の優先順位がnullになる

文書番号 : 84653     文書種別 : 不具合     登録日 : 2019/11/22     最終更新日 : 2020/01/22
文書を印刷する
対象製品
SpreadJS(Ver.10.x.x -)
状況
修正済み
詳細
条件付き書式の設定されているssjson形式のファイルをインポートした後に条件付き書式を追加すると、条件付き書式の優先順位がnullになります。

【再現手順】

1. Spread.Sheetsデザイナで任意の条件付き書式を2件追加する
2. ssjson形式でエクスポートを行う
3. 手順2.でエクスポートしたssjsonファイルをインポートする
4. 任意の条件付き書式を1件追加する
5. ssjson形式でエクスポートする
6. 手順2.でエクスポートしたssjsonファイルのpriorityを確認する
回避方法
SpreadJS (Ver.13.0.4)で修正済み

Ver.13.0.4より前のバージョンでは次の方法で回避可能です。

ssjson形式のデータを読み込んだ後に、条件付き書式で優先順位が無いデータに対し優先順位を生成してから、優先順位を設定することで回避することができます。

★サンプルコード(JavaScript)
// ssjsonデータ
var jsonData;  
// ssjsonデータをオブジェクトに変換
var workbookObj = JSON.parse(jsonData);
var rules = workbookObj.sheets.Sheet1.conditionalFormats && workbookObj.sheets.Sheet1.conditionalFormats.rules;
if (rules) {
  // 条件付き書式が定義されている場合
  // 優先順位(priority)が未定義のデータにpriorityを生成
  rules.forEach(function (rule) {
    if (!rule.priority) {
      rule.priority = 1;
    }
  });
}
// SpreadJSにSSJSONデータを読込
spread.fromJSON(workbookObj);