知人の会社の顧客販売管理ソフトをスクラッチで構築しており帳票印刷をExcelコンポーネント頼りにしていたのですが、.net7系にアップグレードしようとしたところExcelコンポーネントでエラーが・・・。前からExcel依存は避けたいと思っていたのですができるだけお金をかけなくなく中々みつからなかったのですが、とうとうReoGridというコンポーネントを見つけました。xlsx形式で帳票作成~VBでセルに値を挿入~印刷という要件がすべて出来ました。
NuGetでunvell.ReoGrid.dll を検索してインストールし、FormでツールボックスからReoGridControlを配置するだけで使用できるので簡単です。
今回は印刷だけなので、適当に配置~非表示にしてコードだけで実装です。
Imports unvell.ReoGrid
Dim ReoPrint As Object = ReoGridControl1.CreatePrintSession()
'印刷用オブジェクト
ReoGridControl1.Load(inAppPath & "\******.xlsx", unvell.ReoGrid.IO.FileFormat.Excel2007)
ReoGridControl1.Worksheets(0).PrintableRange = New RangePosition("$A$1:$K$35") '印刷範囲
ReoGridControl1.Worksheets(0).PrintSettings.Landscape = True '印刷向き True=横向き
'A4サイズの用紙設定
ReoGridControl1.Worksheets(0).PrintSettings.PaperHeight = 210
ReoGridControl1.Worksheets(0).PrintSettings.PaperWidth = 297
’値の代入
ReoGridControl1.Worksheets(0).Cells("A1").Data = "代入したい値"
'印刷用オブジェクトにReoGridコントロールのデータを流し込んで印刷
ReoPrint = ReoGridControl1.CreatePrintSession()
ReoPrint.print()
これだけで実装完了ですが、用紙へのレイアウトに少し癖があるのでTry&Errorで頑張りましょう。
■ChatGPTによるReoGridのレビュー
ReoGridは、スプレッドシート機能を提供するオープンソースのライブラリです。以下に、ReoGridの特徴と利点、およびいくつかの注意点を挙げます。
特徴と利点:
- オープンソース:ReoGridはオープンソースのプロジェクトであり、無料で利用できます。ソースコードにアクセスすることで、必要に応じてカスタマイズや拡張を行うことも可能です。
- パワフルなスプレッドシート機能:ReoGridはExcelに似た機能を提供し、ユーザーがデータを入力、編集、計算、表示するための豊富な機能を備えています。セルの結合、数式のサポート、グラフ作成、データのフィルタリングなど、一般的なスプレッドシート操作に必要な機能を提供します。
- 軽量で高速:ReoGridは軽量なライブラリであり、高速なパフォーマンスを提供します。大規模なデータセットでも、滑らかなスクロールやレンダリングが可能です。
- プラットフォームのサポート:ReoGridは、.NET Frameworkと.NET Coreをサポートしており、Windowsアプリケーションおよびクロスプラットフォームの開発に利用できます。
- 拡張性:ReoGridは、カスタムのセルエディタやセルレンダラーを作成し、機能を拡張するためのAPIを提供しています。これにより、独自の要件に合わせたスプレッドシートコンポーネントを構築することができます。
注意点:
- ドキュメントとコミュニティの資源:ReoGridのドキュメントやオンラインのチュートリアルは比較的限られており、一部の機能や使用法に関する情報が不足している場合があります。しかし、開発者コミュニティがアクティブであり、質問やサポート要求に対しては手助けしてくれる可能性があります。
- エクスポートとインポートの制限:ReoGridは、Excelファイル形式(.xlsx)のエクスポートとインポートをサポートしていますが、一部の高度なExcel機能やマクロはサポートされていない場合があります。互換性の要件がある場合は、この点に注意する必要があります。
- 総合的に見て、ReoGridは強力なスプレッドシートライブラリであり、オープンソースの性質からカスタマイズや拡張が容易です。軽量で高速なパフォーマンスを提供し、.NETフレームワークおよび.NET Coreをサポートしています。ただし、ドキュメントやコミュニティの資源には限定があるため、一部の情報が不足しているかもしれません。また、高度なExcel機能やマクロのサポートにも制限があるため、特定の要件には注意が必要です。
- 最終的な評価としては、ReoGridはオープンソースの利点を活かしたパワフルなスプレッドシートライブラリであり、特に.NET環境での開発に適しています。