v1.3.0
機能リリースです。目玉はマルチシートワークブック — グリッドが N 枚のワークシートからなるワークブックになり、標準のシートタブバー、シートごとの Undo、ワークブック全体の xlsx/JSON 入出力、クロスシート数式参照(`=Sheet1!A1`)に対応しました。公開 API に破壊的変更はありません。
✨ ハイライト
- ▸ マルチシートワークブック。 グリッドが N 枚のワークシート+1 枚のアクティブシートからなるワークブックになり、標準のシートタブバー(追加・名前変更・削除・ドラッグ並べ替え・非表示・タブ色)を備えます。各シートが独自のデータ・選択・スクロール・固定・Undo 履歴を保持。新しい
instance.workbookコーディネーター(addSheet/removeSheet/renameSheet/moveSheet/setActiveSheet/getSheets/onActiveSheetChange/onSheetsChange)。インスタンスでのワークブック全体 I/O:saveAsXlsx、loadXlsx/loadFromFile/loadFromUrl(全シートを読み込み)、toJson/loadJson。Lite / Pro 両対応で、ティアガードと行・列制限はシートごとに適用されます。 - ▸ クロスシート数式参照。 数式から他シートのセルを参照できます:
=Sheet1!A1、='My Sheet'!A1:B2、引用符なしの非 ASCII シート名(=シート1!A1)。集計関数と LOOKUP 系はクロスシート範囲に対応(=SUM(明細!A1:A3))。Excel 互換のライフサイクル:シート名変更で参照式が書き換わり、シート削除で#REF!、行・列の挿入/削除は他シートの参照をシフト、クロスシート循環は#CYCLE!として検出。Lite / Pro 両対応。 - ▸ アクティブシートに追従するインスタンスレベルイベント。 新しい
instance.onSelectionChange/onCellValueChange/onBulkCellsChange/onScrollChange/onViewportSizeChange/onStructureChange/onContextMenuはアクティブシートのイベントを転送し、シート切り替え時に自動で張り替わります — シートごとの再バインドは不要です。
~ 変更
- ▸
instance.worksheetとinstance.actionManagerはアクティブシートのものを返すゲッターになりました。既存のシングルシートコードはそのまま動作します。注意:シングルシート埋め込みでもデフォルトで高さ約 28px のシートタブバーが表示されます — 非表示にするにはcreateReogrid({ showSheetTabs: false })を渡してください。 - ▸ マルチシート xlsx インポートはファイルを 1 回だけパースし、各シートのインポートで再利用します(従来は N シートで O(N) 回の再パース)。新しい
parseXlsx()ヘルパーとParsedXlsx型を追加。 - ▸ ワークブックのビュー状態が xlsx を往復します:アクティブシート、シートごとの非表示状態、シートタブ色をエクスポート時に書き出し、読み込み時に復元。ReoGrid-JSON もシートごとの
view.showGridlinesを保持します。