V16Jの新機能
フォームコントロール
ワークシート上でインタラクティブな入力フォームを実現できる「フォームコントロール」機能を追加しました。この機能では、ボタンやチェックボックスなどをはじめとする9種類のExcelライクなフォームコントロールを利用できます。また、SpreadJSのExcel入出力機能を活用することで、フォームコントロールを配置したワークシートをExcelに出力したり、インポートしたExcelファイルに含まれるフォームコントロールをSpreadJS上で利用したりすることも可能です。
新ファイルフォーマットとExcel入出力パフォーマンスの改善
新しいファイルフォーマット(SJS形式)によるSpreadJSデータの保存や読み込みが可能になりました。ライブラリ本体のほか、SpreadJSデザイナも新形式によるデータの保存や読み込みに対応します。
この新ファイルフォーマットではデータ構造の最適化が実施されており、従来のSSJSON形式ファイルと比較して、大幅に少ないサイズでSpreadJSデータを保存できるようになりました。
また、この新しいファイルフォーマットをベースとするExcel入出力機能も利用可能になりました。同機能の活用により、従来よりも高速なExcelインポートとエクスポートを実現できます。
〈テーブルシート〉階層データ
テーブルシートでデータの階層表示ができるようになりました。シート上の各階層データはUIによる折りたたみや展開に対応しています。加えて、階層ごとに画像を設定したり、階層の親子関係と連動して動作するチェックボックスを設定することも可能です。このほか、コンテキストメニューや新しく追加されたAPIを利用すれば、階層レベルの上げ/下げや指定階層に対するレコードの追加といった操作も実現できます。
また、本体ライブラリとあわせてSpreadJSデザイナおよびリボンコンテナでも階層データをサポートします。同デザイナ/リボンコンテナの[データソース]画面では、テーブルシートに設定する階層データの種類やサマリー数式、階層ごとに表示する画像などの設定が可能です。
〈テーブルシート〉リレーショナルデータのツリー表示
テーブルシートパネルのフィールドエリアで、リレーショナルデータのツリー表示が可能になりました。
また、SpreadJSデザイナ/リボンコンテナの[データソース]画面でも同様に、リレーショナルデータがツリー形式で表示されるようになります。
JSフレームワークサポートを強化
Angular 15に対応したほか、Next.js、Nuxt.js上での利用に対応しました。
〈リボンコンテナ/SpreadJSデザイナ〉検索範囲の指定
Excelと同様に、選択したセル範囲のみを対象とした「検索と置換」を実行できるようになりました。この機能は単一セル範囲のほか、複数のセル範囲を指定した場合も有効です。
〈リボンコンテナ/SpreadJSデザイナ〉書式設定パネルボタン
従来のコンテキストメニュー操作に加え、リボンメニュー上のボタンからシェイプやチャート、ピクチャの書式設定パネルを表示できるようになりました。
〈数式〉数式の一括設定
cellRangeクラスにおけるformulaメソッドの強化により、特定のセル範囲に対し一括で共通の数式を設定できるようになりました。
〈数式〉無効な数式の入力許可
新しく追加されたallowInvalidFormulaオプションにより、無効な数式の入力を許可できるようになりました。このオプションが有効な場合、セルに入力された無効な数式はテキストとして保持されます。
〈セル〉角折(ドッグイヤー)スタイル
セルの新しい修飾スタイルとして「角折(ドッグイヤー)」が利用可能になりました。このスタイルの活用により、データ検証の結果や、特定のセル値を効果的に強調表示できるようになります。
その他の機能強化
テーブルシート関連の以下の機能に対応しました
- dataNameプロパティによるデータフィールド名のマッピング
イベント関連の以下の機能に対応しました
- EditEndingおよびEditEndedイベントのcommitedパラメータによる編集キャンセルの検知
- ClipboardChangingイベントのactionパラメータによるクリップボード状態の検知