作成日: 2019/11/22 最終更新日: 2020/01/22
文書種別
不具合
状況
修正済み
詳細
条件付き書式の設定されているssjson形式のファイルをインポートした後に条件付き書式を追加すると、条件付き書式の優先順位がnullになります。
【再現手順】
1. Spread.Sheetsデザイナで任意の条件付き書式を2件追加する
2. ssjson形式でエクスポートを行う
3. 手順2.でエクスポートしたssjsonファイルをインポートする
4. 任意の条件付き書式を1件追加する
5. ssjson形式でエクスポートする
6. 手順2.でエクスポートしたssjsonファイルのpriorityを確認する
【再現手順】
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)
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);
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);
旧文書番号
84653