V9Jの新機能
DioDocs for Excel
AI用カスタム関数
AIアシスタント機能として、Excel関数のような数式から生成AIを直接利用できるAI用カスタム関数が追加されます。セルにAI用カスタム関数を入力するだけで、生成AIと連携した処理を実行することが可能になります。
- AI.QUERY:セルの値や範囲をコンテキストとしてAIモデルに質問を送信して結果を返します。
- AI.TRANSLATE:指定したセル範囲のテキストを指定の言語に翻訳します。
- AI.TEXTSENTIMENT:テキストを分析して、ポジティブ/ネガティブ/ニュートラルの感情に分類し、それに基づいたカスタム値を返します。



また、これらのAI用カスタム関数から生成AIサービスのチャットAPIを呼び出すためのインターフェースとしてIAIModelRequestHandlerインターフェイスが追加されており、特定の生成AIサービスに依存することなく接続を設定することが可能になっています。
新しいExcel関数の追加
配列やセルの値を文字列へ変換できる「ARRAYTOTEXT関数」と「VALUETOTEXT関数」に対応します。
- ARRAYTOTEXT:指定したセル範囲の値を取得してカンマ区切りのテキストに変換します。
- VALUETOTEXT:指定した単一のセルの値を取得してテキストに変換します。
どちらの関数もプレーンテキストでの出力および引用符付きでの出力をサポートしています。

共有数式のサポート
ワークブックをExcelファイルとして保存する際に、「共有数式(Shared Formula)」を使用するか、各々のセルに「個別の数式」として書き出すか制御できるようになります。DioDocs for Excelでは、Microsoft Excelと同様にファイルサイズを縮小するためにデフォルトで共有数式が有効になっています。ExportSharedFormulaプロパティをfalseに設定して共有数式を無効にしておくことで、共有数式をサポートしていないサードパーティ製のライブラリで、DioDocs for Excelで保存したExcelファイルを使用することが可能です。
パフォーマンスの改善
数式の計算と大規模なデータ処理において、内部処理の最適化とキャッシュ管理方法の見直しにより以下の処理でパフォーマンスの改善が行われています。
- 複雑な数式を含む広範囲のコピーを高速化
MATCH 関数やSUMIFS 関数、および複数セルにまたがる配列数式を含む範囲のコピー処理において、パフォーマンスが改善されます。 - 頻繁なGet/Set操作のオーバーヘッドの削減
チャートの更新や動的配列の再計算によって発生する、Range.GetValueおよびRange.SetValue呼び出しのオーバーヘッドを削減します。 - 動的配列数式を含む範囲のコピーを高速化
スピル数式を含む範囲のコピーでは、従来は内部的な状態チェックが繰り返し発生していましたが、パフォーマンスが改善されます。 - 数値とテキストが混在する型における検索関数の性能改善
XLOOKUP、MATCH、LOOKUPなどの検索関数において、数値とテキストが混在するデータ型が含まれる場合でもキャッシュが有効に機能するよう最適化されます。 - AutoFitによる行列幅自動調整の最適化
内部処理の見直しにより、300×300など広範囲へのAutoFit適用時の処理時間が短縮されます。また、メモリ割り当て量についても削減しています。
PowerQueryとの互換性強化(Power Queryテーブルのロスレス対応)
従来のバージョンでは、Power Queryテーブルを含むワークブックを読み込んでExcelファイルに保存した場合、クエリに関連するXML情報が保持されていませんでした。そのため、DioDocs for Excelで処理した後に保存したExcelファイルを開いても、データの更新ができなくなったりデータが消失したりしていました。V9Jでは、クエリ関連のXMLパーツをExcelファイルを読み込む際に保持し、ファイルとして保存する際にそのまま出力されるようになります。
SpreadJSとの互換性強化
SpreadJSとDioDocsの間でワークブックを連携する際の互換性強化として、V9Jでは以下の機能が連携対象として追加されます。
- レポートシートの非表示行列の表示設定
SpreadJSのレポートシートにおける、「非表示行・列の表示」設定の互換性が強化されます。「SpreadJSデザイナで編集」→「DioDocs for Excelで処理」→「出力したファイルをSpreadJSデザイナで開く」という工程を経ても、デザイナで作成した際の表示状態が保持されるようになります。 - FileUploadセルのサポート
SpreadJSで利用可能なFileUpload(ファイルアップロード)型セルに対応します。
DioDocs for PDF
既存の最適化機能の統合
GcPdfDocumentクラスにOptimizeメソッドが追加され、さらにこのメソッドの引数として渡すOptimizeDocumentOptionsクラスが追加されます。従来は個別に行っていたPDFドキュメントの最適化処理(画像の重複除去、フォントの処理、ストリームの圧縮、オブジェクトストリームの使用など)が全てOptimizeDocumentOptionsクラスに統合されます。これにより、最適化処理の設定、実行、PDFファイルへの保存をまとめて行えるようになります。

DioDocs for Imaging
DioDocs for Imagingリリース
DioDocsのラインナップに「DioDocs for Imaging」が新たに追加されます。DioDocs for Imagingは、外部の画像編集ツールへ依存することなく画像の生成・編集・保存がC#およびVB.NETのコードから可能な .NETアプリケーション開発用の画像処理ライブラリです。クロスプラットフォームに対応しているのでWindows、macOS、Linuxで動作するほか、AzureやAWSなどのパブリッククラウドにおいて .NETをサポートしている各種サービスにも対応しています。
JPEG、PNG、BMP、TIFF、GIF、ICO、SVG、WebPなど主要な画像フォーマットに対応しており、リサイズ、クロップ、回転、反転および色、輝度、コントラスト調整、フィルタやエフェクトの適用、画像の合成といった画像処理を実施できます。その他に、画像に対して図形やテキスト、バーコードを描画することも可能です。

また、DioDocs for Imagingでは、Webアプリケーションで画像の表示および編集が可能なImageビューワをJavaScriptライブラリとして提供します。クライアントサイドで画像のリサイズ、クロップ、反転、回転や色、輝度、コントラスト調整、フィルタやエフェクトの適用、フリーハンド線やテキストの描画などが可能です。
