今回作成しているアプリケーションでも
- 出荷伝票
- 宅配便 送り状
実際にVB.NETで帳票を扱うには
- .NET FrameworkのPrintDocumentを使う
- VisualStudioにバンドルされているCrystal Reportsを使う
- 帳票コンポーネントを購入して使う
.NET FrameworkのPrintDocumentを使う場合、全ての帳票に関する処理(レイアウト、データの配置)を自前で実装する必要があります。特に罫線が入る場合の生産性の低さは驚異的に感じます。
VisualStudioにバンドルされているCrystal Reportsを使う場合、帳票に関する処理はデザイナーでできるし、印刷する内容もデータ連結が使えるのでかなり楽そう。バンドルのものを使っている限り追加費用も無いといいことずくめなようですが、いかんせん簡易なノウハウが充実していないのが玉に瑕です。
書籍もあまり無いようですし、Googleで検索しても「使い方がわかりません」な感じのページがかなり上位に来ています。
業界の標準らしいんだけど...
帳票コンポーネントを購入して使う場合、コストが発生するのが欠点ですがいろいろなソリューションが用意されています。専用の帳票デザイナが付属するもの、Excel等の標準的なアプリケーションで帳票デザインができるものなどさまざまです。
ActiveReportやシーオーリポーツやVB-Reportがこれにあたります。
これらは有料だけあって通常の帳票印刷だけではなく、バーコードやグラフ出力やPDF、Excelファイルとして書き出しが簡単にできる機能を持ったものも多いようです。アプリケーションの配布後にユーザーの手で帳票の調整が行えるものさえあるようです。
特にActiveReportは@ITやCodeZineでの紹介記事が多いので情報収集にも事欠きません。
外部コンポーネントを導入するにあたってはランタイムライセンスの購入が必要かどうかも確認しておく必要があります。
今回はアドバンスソフトウェア株式会社のVB-Report 2007と.NET FrameworkのPrintDocumentの組み合わせを採用しました。
具体的には
- 出荷伝票:VB-Report 2007
- 宅配便 送り状:.NET FrameworkのPrintDocument
VB-Reportは帳票デザインをExcelを使って行い、帳票をExcel形式、PDF形式での出力も可能、ランタイムフリーという点を考慮して選択しました。