ちょっと訳があってVB2008EE (.NETFrameWork 3.5に相当)を使って帳票などレポート作成を実現する方法などを調べてみた。
Visual Studioでレポートを作成する方法
実現性はともかくとして、ざっと調べたところ、下記のような感じ。
1.Crystal Reports
レポートツールのデファクトスタンダード。Visual StudioにはOEMで付属。
レポート共有にはCrystal Reports Viewerがあるらしい
2.Active Report
グレープシティが販売。有料。
3.Excel (COMオブジェクト)
おなじみのExcelを操作。Excelを舐めてはいけません!
意外に強力な統計ツールもついてます。←VBから操作するのは大変そうだけど。。
しかし無料で配布されているVisual Basic 2008 Express Edition では、制限があるためExcelでレポートを作ることしかできなさそう。
ExcelでVBAを利用した方は分かると思いますが、ひとつずつ丹念にやっていくことになります。
Excelオブジェクトライブラリの参照を忘れずに!!
ただ、Excelは企業では一般的に使われているツールであり、レポート作成後のフレキシビリティには一番優れているかもしれない。
下記は、参考にしたサイト
1.TimberLandChapelのTech Blog
【VB.NET】VB.NET から Excel の COM オブジェクトを操作する場合の注意点
2. Code Guru / John 氏
Automate Excel with VB 2005 Express (続きあり)
あとは書籍。
それなりに問題なく動いた。実際はDBから取得したデータをレポート出力することなどが考えられます。
VB.NETでExcelワークシートの罫線やデザインを一つ一つ作ることは出来るがかなり大変そう。
現実的には、雛形のExcelを用意しておき、レポート作成のたびに保存していく形か。
あと、VSTO(Visual Studio Tools for Office)なるものも存在するらしい。
追記:ReportViewerコントロールなるものもあるらしい。Crystal Reportとまた違うみたいです。
・Crystal Report
・ReportViewコントロール