HOME > ソフテックだより > 第367号(2020年12月2日発行) 技術レポート「VB-Report8を利用したWebアプリケーションからの帳票出力実装」

「ソフテックだより」では、ソフトウェア開発に関する情報や開発現場における社員の取り組みなどを定期的にお知らせしています。
さまざまなテーマを取り上げていますので、他のソフテックだよりも、ぜひご覧下さい。

ソフテックだより(発行日順)のページへ
ソフテックだより 技術レポート(技術分野別)のページへ
ソフテックだより 現場の声(シーン別)のページへ


ソフテックだより 第367号(2020年12月2日発行)
技術レポート

「VB-Report8を利用したWebアプリケーションからの帳票出力実装」

1. はじめに

ソフテックだより第143号の技術レポートで「VB-Report7を利用した帳票機能対応」というテーマで、VB-Reportについて紹介させていただきました。VB-Report8を用いてサーバー上のWebアプリケーションから帳票出力を実装する機会がありましたので、今回は具体的な実装方法についてご紹介させていただきます。

2. VB-Reportについて

VB-Reportとはアドバンスソフトウェア株式会社殿からリリースされている帳票出力支援コンポーネントです。帳票のレイアウトはエクセルで作成したデザインファイルによって決まるため、レイアウト変更にはプログラムの修正が必要ないなどの特徴があります。より詳しい特徴や導入方法については第143号の技術レポートを見ていただければと思います。

3. サーバーからの帳票出力の実装例

実際の開発ではVisualStudioを使用し、ASP.NETを用いてサーバー上のWEBアプリケーションからの帳票出力機能の実装を行いましたので、同じように実装する場合の例を紹介いたします。
ちなみに動作するサーバーPCにはエクセルがインストールされていませんでした。帳票のレイアウトにはエクセルで作成したデザインファイルを使用しますが、エクセルがインストールされていないPCでもデザインファイルを基に帳票を作成することが可能です。

3.1 デザインファイルの用意

図1は今回の説明用に用意したデザインファイルの内容です。「**〇〇」にはプログラムから値を反映させることがでます。また、合否列のように数式を埋め込んでおくことも可能です。

デザインファイルの内容
図1.  デザインファイルの内容

3.2 帳票出力処理の実装

ここから帳票出力実装のためのプログラムについて説明していきます。
VisualStudioでASP.NET MVCのプロジェクトを新規作成して、図2のようにVB-Reportのコンポーネントを参照に追加します。

参照の追加
図2.  参照の追加

また、帳票出力処理を実装する前準備として、Usingディレクティブの追加と出力用のデータを用意しておきます。

Usingディレクティブ
図3.  Usingディレクティブ

出力用データ
図4.  出力用データ

次に、帳票出力を実行する関数を作成します。今回は以下のVB-ReportTest関数を作成しました。

VBReport関数
図5.  VB-ReportTest関数

(1) WebCellReportオブジェクト
Web帳票コンポーネントのオブジェクトを作成します。
(2) デザインファイル名の指定
使用するデザインファイルを指定します。指定した先にデザインファイルがない場合は正常に動作しないので注意が必要です。今回はエラー処理を省いていますが、ファイルチェックの処理を設けると確実です。
(3) 帳票作成の開始・終了
帳票作成の開始と終了をします。終了を行わないと帳票が正常に出力できません。
(4) シート作成の開始・終了
デザインファイルと作成するページ番号を指定してシート作成を開始します。作成したシートは名称を設定できます。シート作成後はシート作成終了を行わないと帳票が正常に出力できません。
(5) デザインファイルの範囲指定
基にするデザインファイルの範囲を指定します。第一引数が開始行、第二引数が開始行からの行数です。
(6) データの入力
デザインファイル内に用意した「**〇〇」のセルにデータを入力します。ちなみに何も値を設定しなかった場合は空欄となります。また、今回は「**〇〇」のセルへデータを反映する方法をとりましたが、”B4”のようにセルのアドレスを指定して反映することも可能です。
(7) ページ内での折り返し
次データの入力へ進みます。引数は印刷時の改ページ設定で、Trueにすると改ページが入ります。
(8) 帳票出力の実行
ReportクラスのSaveAsメソッドで作成した帳票をExcel形式で保存します。そこからFileメソッドでクライアント側へFileContentResultを返します。

3.3 出力結果

3-2で実装した関数を実行すると、成績一覧表.xlsxを保存できます。保存したファイルを開くと、クラス別にシートが作成され一覧表にデータが反映されていることが確認できます。

出力結果
図6.  出力結果

4. 終わりに

サーバーからの帳票出力を実装するにあたり、VB-Reportを用いることでスムーズに開発を進めることができました。特に帳票のレイアウトをプログラム修正なしに調整できるのは、仕様変更や改善要望に対応しやすく大きなメリットでした。
今回紹介した他にも、バーコードの出力や出力内容のプリビューを行うなどの機能もあります。

以上、皆様の開発の参考になれば幸いです。拙文ご拝読いただきありがとうございました。

(Y.H.)


関連ページへのリンク

関連するソフテックだより

ページTOPへ