作成日: 2025/08/01 最終更新日: 2025/08/01
文書種別
不具合
状況
修正済み
詳細
シートに設定した行フィルタとテーブルの範囲が重複した状態でExcelファイルに出力し、出力したファイルを開くとエラーが発生します。
回避方法
SpreadJS (Ver.15.0.5)で修正済み。
Ver.15.0.5より前のバージョンでは、シートのフィルタを削除することで回避が可能です。
以下のサンプルでは行フィルタとテーブルの範囲が重複したJSONファイルをインポートした場合に、フィルタを削除しています。
document.getElementById("loadJSON").addEventListener("click", function () {
var jsonFile = document.getElementById("jsonFile").files[0];
var reader = new FileReader();
reader.addEventListener("loadend", function (e) {
var json = JSON.parse(reader.result);
workbook.fromJSON(json);
workbook.suspendPaint();
for (var index = 0; index < workbook.getSheetCount(); index++) {
var sheet = workbook.getSheet(index);
var rowFilter = sheet.rowFilter(), tables = sheet.tables.all();
if (rowFilter && tables.length > 0) {
var sheetFilterRange = rowFilter.range;
for (var table of tables) {
var tableRange = table.range();
if (sheetFilterRange.intersect(tableRange.row, tableRange.col, tableRange.rowCount, tableRange.colCount)) {
rowFilter.reset();
sheet.rowFilter(null);
break;
}
}
}
}
workbook.resumePaint();
})
reader.readAsText(jsonFile);
});