v1.4.0
機能リリースです。目玉は Excel スタイルのページレイアウト&印刷(改ページプレビュー)、自社のオリジナルエンジンによる PDF エクスポート、ピボットテーブル、テーブルスタイル(テーブルとして書式設定)、データの入力規則、レポートバインディング(テンプレート明細繰り返し)、セルコメント(メモ)、名前付き範囲 — そして日本語帳票向けの xlsx インポート忠実度の改善多数。公開 API に破壊的変更はありません。
✨ ハイライト
- ▸ ページレイアウト&印刷(Pro)。 ドラッグ可能な改ページのプレビュー、印刷設定モデル(用紙サイズ・向き・余白・倍率・ページ順)、手動改ページ、印刷範囲に対応。xlsx(
pageSetup/pageMargins/rowBreaks/colBreaks)と JSON を往復します。 - ▸ PDF エクスポート(Pro)。 自社のオリジナルエンジンによる PDF 生成 — 画面上の改ページプレビューと同一のページ割りで出力します。
instance.exportPdf()/instance.saveAsPdf()。options.fontに glyf TrueType フォントを渡します(ブラウザ用ヘルパーloadDefaultJapaneseFont())。 - ▸ ピボットテーブル(Pro)。 ソース範囲から再計算する API 駆動のライブピボット — 行・列・値・集計(
sum/count/average/min/maxほか)。worksheet.createPivot(def)。 - ▸ テーブルスタイル/テーブルとして書式設定(Pro)。 Excel 組み込みのテーブルスタイルをライブオーバーレイで描画(挿入/削除で縞模様が再配置)。実際の
xl/tables/*.xmlを xlsx で往復します。worksheet.addTable(range, options)。 - ▸ データの入力規則(Pro)。 リスト、整数/小数/日付/時刻、文字列長、カスタム数式のルールに停止/注意/情報アラート付き。リストルールはドロップダウンを自動描画。読み込みは Lite でも動作します。
- ▸ レポートバインディング/テンプレート明細繰り返し(Pro)。 ヘッダー/明細(×N)/フッターのテンプレートセクションを、バインドしたデータからその場に展開。
{{token}}補間、行ごとの数式シフト、フッター集計、帳票主導の改ページに対応。 - ▸ セルコメント/メモ(Pro)。 クラシックな Excel コメント(セルごとに 1 件)を赤い角マーカーとホバーの吹き出しで表示。xlsx 読み込み、JSON 往復に対応。
- ▸ 名前付き範囲/defined names。 ワークブックまたはシートスコープの
=SUM(MyRange)、=Tax*2。カスケード再計算と xlsx・JSON 往復に対応。書き込みは Pro、読み込みは Lite でも動作します。
+ 追加
- ▸ ページレイアウト&印刷(Pro)。
PagingManagerがPrintSettingsと手動改ページを保持。改ページプレビューは青い破線(自動)と実線(手動/端)を描画し、改ページはドラッグで移動できます。ワークシートのデリゲータ:setPrintSettings、setShowPageBreaks、insertRowPageBreak/insertColumnPageBreak、getPrintPageRangesほか。 - ▸ PDF エクスポート(Pro)。
instance.exportPdf(options): Uint8Arrayとinstance.saveAsPdf({ filename, ... })が外部ライブラリなしでワークシートを描画。ページ割りレンダラーはセル背景、テキスト(配置・オーバーフロー・折り返し・交互行カラー・擬似ボールド)、グリッド線、罫線、結合セルの罫線、埋め込み画像、リッチテキストを描画します。 - ▸ ピボットテーブル(Pro)。 ピボットエンジン+
worksheet.createPivot()がソース範囲からライブピボットを計算しグリッドに書き込み、refreshPivot/PivotHandle.update()で再計算。新デモpivot-demo.html。*既知の制限:* 保存されたソース/出力範囲は行・列の挿入/削除でシフトしません — 構造編集後はrefreshPivotを呼んでください。 - ▸ テーブルスタイル/テーブルとして書式設定(Pro)。
worksheet.addTable/RangeHandle.formatAsTable(options)が OOXML スタイル名(既定TableStyleMedium2)で縞模様のライブオーバーレイを適用し、挿入/削除で再配置。getTable/getTablesは Lite で読み込み可。実際のxl/tables/tableN.xmlと JSON を往復します。 - ▸ データの入力規則(Pro)。
setValidation/removeValidation/clearValidations(Pro)+getValidations/validate(Lite)、RangeHandle.setValidation/CellHandle.setValidation。ルール:list、whole/decimal/date/time/textLength、custom、any。xlsx<dataValidations>と JSON を往復します。 - ▸ レポートバインディング/テンプレート明細繰り返し(Pro)。
defineReportTemplate/bindReport/unbindReport(Pro)+getReportTemplate/getReportState(Lite)、instance.reportハンドル。pageBreakEvery: Nで N レコードごとに手動改ページ。JSON 往復(sheet.reportTemplate)。 - ▸ セルコメント/メモ(Pro)。
setComment/removeComment/clearComments/setCommentVisible(Pro)+getComment/hasComment(Lite)、CellHandle.setComment、RangeHandle.setComment。JSON を往復。xlsx は読み込み専用(VML 書き込みは保留)。 - ▸ 名前付き範囲/defined names。
instance.defineName(name, address, scope?)/removeName/getName/getNames。xlsx<definedNames>(シートスコープはlocalSheetId)と JSON を往復します。 - ▸ 永続的な範囲ハイライトオーバーレイ。
worksheet.setRangeHighlightsが、選択/数式参照ハイライトとは独立に、範囲へ永続的な色付きオーバーレイを描画します。 - ▸ xlsx インポート — 埋め込み OLE 画像オブジェクト(StaticDib)。 OLE オブジェクトとして保存された「図として貼り付け」のスクリーンショットを、DIB/BMP を抽出する最小 CFBF/OLE2 リーダーで表示します。
~ 変更
- ▸ PDF エクスポートが改ページ/印刷設定モデルに追従。 新しい
usePageBreaksオプションにより、用紙サイズ・向き・余白・倍率・ページ帯がすべてworksheet.getPrintSettings()と計算済みの改ページから取得され、画面上のプレビューと同一のページ割りで PDF を出力します。 - ▸ エクスポートのファイル名が読み込み元のドキュメント名を既定に。
loadFromFile/loadFromUrlが元ファイルのベース名を記録し(getDocumentName()/setDocumentName())、saveAsPdfとsaveAsXlsxのダウンロード名の既定値に使用します(例:purchase-order.xlsx→purchase-order.pdf)。
🐛 修正
- ▸ xlsx インポート — ロケール「短い日付」(numFmtId 14 / 22)が米国形式で表示。 組み込み 14/22 はロケール依存のため、東アジアの短い日付(
yyyy/m/d)にマッピングするよう修正 — 既存の 27–36 / 50–58 の日本語マッピングと一貫し、国際的にも曖昧さがありません。 - ▸ コピー — クリップボードが表示テキストではなく生値を保持。 両方のクリップボードペイロードが表示テキストを使用するように(日付セルはシリアル値
44985ではなく2023/2/28をコピー)。結果が空の数式は空としてコピーされます。生値+数値書式はdata-rg-*属性で引き続き往復します。 - ▸ 画像オーバーレイがヘッダー上に描画されない。 フローティング画像をセル領域にクリップし、スクロール時に行・列ヘッダーへはみ出さないように。
- ▸ xlsx インポート — 日本語帳票(発注書)。 ロケール予約の日付書式(numFmtId 27–36 / 50–58)が日付として描画され、ふりがなガイド(
<rPh>)が共有文字列に漏れなくなり、_xlfn.IFS(…)の将来関数マーカーが#NAME?にならず解決されるように。 - ▸ xlsx インポート — 小さなシートと複数行セル。 小さな使用範囲でグリッドが既定サイズ未満に縮まなくなり、
_xHHHH_エスケープ(_x000D_)をデコード、ハード改行を含む行が高さを自動調整するように。
! 既知の問題
- ▸ セルコメントとピボットテーブルは JSON へは無損失で保存されますが、xlsx 対応は部分的です:コメントは読み込み専用(VML 書き込みは保留)、ピボットは描画済みセルのみ保存(
<pivotTableDefinition>は保留)。