作成日: 2021/01/14 最終更新日: 2021/01/27
文書種別
制限事項
詳細
ユーザー定義の表示形式に、"aaa;;;;;"などの不正な書式を設定すると、スプレッドシートの描画が乱れ、動作不良な状態になります。
表示形式の書式は、正の数の書式、負の数の書式、ゼロの書式、文字列の書式の4つの書式を「;」セミコロンで区切って設定できるので、区切りとして使用されるセミコロンは3つまでになりますが、4つ以上のセミコロンで区切られた書式を設定すると問題が発生します。
表示形式の書式は、正の数の書式、負の数の書式、ゼロの書式、文字列の書式の4つの書式を「;」セミコロンで区切って設定できるので、区切りとして使用されるセミコロンは3つまでになりますが、4つ以上のセミコロンで区切られた書式を設定すると問題が発生します。
回避方法
SpreadJS (Ver.14.0.6)で修正済み。
Ver.14.0.6より前のバージョンでは以下のように、設定する前に書式が適切かどうかをチェックして回避することが可能です。
// ---------------------------------------------
try {
var formatString = "aaa;;;;";
if (formatString && formatString[0] !== "=" && formatString.match(/¥{¥{=.*?¥}¥}/) === null){
var formatter = new GC.Spread.Formatter.GeneralFormatter(formatString);
}
sheet.setFormatter(row, col, formatString, GC.Spread.Sheets.SheetArea.viewport);
}
catch (e) {
alert(e.message);
}
// ---------------------------------------------
Ver.14.0.6より前のバージョンでは以下のように、設定する前に書式が適切かどうかをチェックして回避することが可能です。
// ---------------------------------------------
try {
var formatString = "aaa;;;;";
if (formatString && formatString[0] !== "=" && formatString.match(/¥{¥{=.*?¥}¥}/) === null){
var formatter = new GC.Spread.Formatter.GeneralFormatter(formatString);
}
sheet.setFormatter(row, col, formatString, GC.Spread.Sheets.SheetArea.viewport);
}
catch (e) {
alert(e.message);
}
// ---------------------------------------------
旧文書番号
86322