V6Jの新機能
NuGetパッケージ/リリースノート
更新履歴はNuGetパッケージのページを参照してください。
初版(2023/2/8)
- DioDocs for Excel(NuGetパッケージ | リリースノート)
- DioDocs for PDF(NuGetパッケージ | リリースノート)
- DioDocs for PDF(PDFビューワ)(npmパッケージ | リリースノート)
DioDocs for Excel
帳票テンプレートの機能強化(可変レイアウトの自動改ページ)
V5J SP2では固定レイアウトでの自動改ページができるようになりましたが、今回さらに強化が行われています。V6Jでは可変レイアウトでの自動改ページもできるようになり、最初のページにのみヘッダーを出力し最後のページにのみフッターを出力するといった構成の帳票を作成できます。また、グルーブごとのページ番号と総ページ数も出力が可能です。
帳票テンプレートの機能強化(帳票作成方法の追加)
GenerateReportメソッドを使用して帳票テンプレートを破棄せずに帳票を作成できるようになります。また、引数で指定された帳票テンプレートのワークシートのみを使用して帳票を作成することも可能になります。
- Workbook.GenerateReportメソッド:テンプレート構文を含むワークブックを変更せずに帳票を作成し、新しいワークブックのインスタンスとして返します。
- IWorkbook.GenerateReport(params IWorksheet[] worksheets)メソッド:テンプレート構文を含むワークブックのうち、引数で指定されたワークシートのみを使用して帳票を作成し、新しいワークブックのインスタンスとして返します。
ワークブックの最適化
使用されていないスタイル、定義された名前、空のセルを多数含むためサイズが増加しているワークブックを保存する際に、ファイルサイズを最適化できるようになります。XLSXSaveOptionsクラスに新しく以下の3つのプロパティが追加されます。これらのプロパティを使用してワークブックのサイズを最適化して保存できます
- XlsxSaveOptions.ExcludeUnusedStyles:使用されていないユーザ定義のスタイルを除外するかどうか
- XlsxSaveOptions.ExcludeUnusedNames:使用されていないユーザー定義の名前を除外するかどうか
- XlsxSaveOptions.ExcludeEmptyRegionCells:使用範囲外にある空のセル(データがないセルまたはスタイルのみのセル)を除外するかどうか
選択した範囲内の使用範囲を取得
IWorksheet.UsedRangeプロパティおよびIWorksheet.GetUsedRangeメソッドを使用してワークシート全体の使用範囲を取得できますが、V6Jではさらに選択した範囲内の使用範囲もIRange.UsedRangeプロパティまたはIRange.GetUsedRangeメソッドを使用して取得できるようになります。
セル範囲へ図形や画像を直接追加
セル範囲の位置とサイズを事前に別途計算することなく範囲を直接指定して図形や画像を追加できるメソッド(AddPicture、AddShape、AddConnector、AddChart、AddCameraPicture)が追加されます。
セル参照/定義された名前による図形テキストの設定
新しく追加されるIShape.Formulaプロパティを使用して、図形のテキストにセル参照や定義された名前への参照を設定できるようになります。参照先のセルの値を図形のテキストとして表示し、セルの値が変わると図形のテキストも変わるようにできます。
セル範囲の積集合/和集合/オフセット
セル範囲の積集合/和集合/オフセットを取得できるようになります。
- IRange.Intersectメソッド:現在の範囲と1つまたは複数の範囲との積集合を取得します。
- IRange.Unionメソッド:現在の範囲と1つまたは複数の範囲との和集合を取得します。
- IRange.Offsetメソッド:現在の範囲のオフセットを取得します。
行の高さの自動調整を無効化
サイズが大きい場合や多くの図形/チャート/画像が含まれる場合には、ワークブックを開く処理に時間がかかることがあります。DioDocsではExcelと同様にワークブックを開く際に行の高さを自動調整していますが、この自動調整を無効にすることで処理を高速化できます。新しく追加されるXlsxOpenOptions.DoNotAutoFitAfterOpenedプロパティをtrueに設定して行の高さの自動調整を無効にできます。
LAMBDA関数
LAMBDA関数とそのヘルパー関数(MAP、REDUCE、SCAN、MAKEARRAY、BYROW、BYCOL、ISOMITTED)に対応します。LAMBDA関数を使用すると、独自の関数を作成し定義した名前で呼び出すことができます。
Excelの新規関数
Excelに追加された新規関数、新しい文字列操作関数3個と配列操作関数11個に対応します。
文字列操作関数
- TEXTBEFORE:指定された文字列より前のテキストを返す
- TEXTAFTER:指定された文字列より後のテキストを返す
- TEXTSPLIT:テキストを区切り記号で行または列に分割する
配列操作関数
- HSTACK:配列を水平方向に積み重ねて返す
- VSTACK:配列を垂直方向に積み重ねて返す
- TOROW:配列を1つの行に変換して返す
- TOCOL:配列を1つの列に変換して返す
- WRAPROWS:配列を指定した列数で折り返して2次元配列にして返す
- WRAPCOLS:配列を指定した行数で折り返して2次元配列にして返す
- TAKE:配列の先頭または末尾から指定した数の行または列を返す
- DROP:配列の先頭または末尾から指定した数の行または列を削除して返す
- CHOOSEROWS:指定された行だけを含む配列を返す
- CHOOSECOLS:指定された列だけを含む配列を返す
- EXPAND:配列を指定された行数・列数に拡張する
DioDocs for PDF
外観ストリームのサポート
注釈を追加した際に外観ストリーム(Appearance Streams)をすべての注釈に対して関連付けるようになります。外観ストリームはPDFの仕様としてはオプションの設定であり必須の設定ではありませんが、注釈に関連付けることで他のPDF閲覧ソフトとの描画の差異を減らすことができます。
SVG形式での保存
V5J SP1ではPDFドキュメントをSVG形式で保存することが可能になりました。しかし、他の画像を保存するメソッド(SaveAsXXX)がGcPdfDocumentクラス(PDFドキュメント全体を操作するクラス)とPageクラス(ページを操作するクラス)の両方に実装されているのに対して、SaveAsSvgメソッドはPageクラスにしか実装されていませんでした。V6JではGcPdfDocumentクラスにもSaveAsSvgメソッドが追加されます。
DioDocs for PDF(PDFビューワ)
画像として保存
PDFビューワで表示しているPDFドキュメントを直接画像として保存できるようになります。ツールバーの「画像として保存」ボタンをクリックすると表示中のPDFの全てのページをPNG形式で出力し、ZIP形式でローカルにダウンロードすることが可能です。
アイコンのカスタマイズ
既定のツールバーやサイドバーのアイコンを任意のSVG画像に変更できるようになります。アイコンを変更するには、ViewerOptionsクラスのcustomIconsプロパティを使用します。