サーバ/クラウドの業務アプリでも現場発のExcelシートを活用、そのまま帳票デザインへ取り入れ可能に。大量の帳票出力も高速化[PR]
業務アプリケーションの開発において、帳票の出力部分は手間がかかるとされています。
というのも1つの帳票を作る上で、例えば名前とフリガナの項目の高さや文字の大きさはそれぞれどのくらいが適切か、会社名や住所欄の長さはどのくらい余裕を持たせるのか、押印の「印」マークはどこかに配置すべきなのか、備考欄は設けるべきなのか、そもそも必要な項目を全部入れてA4用紙に収まるか、など考慮すべき項目が多数あります。
これらを開発者が決めるわけにもいきませんから、その帳票を扱う現場担当者と打ち合わせをして、場合によっては仮にデザイン通りにシステムを作ってみて、結果を見てフィードバックをもらう、といった試行錯誤が発生し、これが時間と手間のかかる大きな要因になります。
現場ではExcelでさまざまな帳票が作られている
一方で、現実にはおそらくほとんどの会社で、例えば営業や経理や総務などの現場スタッフがすでに試行錯誤して作り上げた「Excelファイルによる帳票」が存在するのではないでしょうか。
紙の帳票の出番が減ってきた一方、むしろ紙よりも気軽に出力し送付できるという点で、電子メールで送付する見積書や発注書、納品書、請求書。Webで公開する製品一覧表など、PDFファイルやExcelファイルでやりとりされる情報の作成頻度は増えているかもしれません。
そのとき、現場でまず使われるツールと言えばExcel、というのが現実です。
すでに現場で使われている帳票が存在するのならば、それをそのまま業務システムの帳票フォーマットにすることで、帳票部分の開発における試行錯誤を一気に減らせるはずです。
それを実現できる製品があります。アドバンスソフトウェアの「VB-Report 10」(以下VB-Report)です。
既存のExcel帳票をそのまま業務システムに組み込める
VB-Reportをひとことで表現するならば、「既存のExcelファイルを読み込んでセルの値を書き換え、ExcelファイルやPDFとして高速に出力するプログラムが簡単に書ける.NET Framework対応のライブラリ」です。
例えば、すでに営業部門が見積書の作成に使っているExcelシートがあるとしましょう。
VB-Reportを用いることで、このExcelシートを読み込み、データベースから読み込んだ新たな顧客名と商品名に書き換えて、別の見積書としてExcelシートやPDFとして出力する、といったプログラムが簡単に書けます。
もしExcelシートで請求書を作成しているのであれば、そのExcelシートを読み込んで、データベースから未請求の顧客とその請求項目をデータベースで検索して、これらのデータをExcelシートに書き込むコードを記述、PDFで出力するようにすれば、既存の請求書のフォーマットを変えることなく請求書の自動作成システムが作れるでしょう。
たとえ明細の件数が増えて1枚の帳票では収まらないような場合でも、Excelワークシート上のヘッダ部とフッタ部を指定できるため、複数ページの1ページ目にヘッダ部、最終ページにフッタ部を生成するレイアウトが可能です。
大規模な帳票を、ほとんど待ち時間なく生成
しかもVB-Reportは最新版において大量のExcelファイル生成の大幅な高速化を実現しています。
例えば、以前のバージョンで約3.9秒かかっていた100ページもあるA4用紙向けの帳票生成は約0.5秒に、37秒かかっていた1000ページの帳票は3.9秒に短縮されました(Windows 10/Core i5-4460 3.2GHz/8GBメモリの場合)。
大規模な帳票をExcelファイルで生成する場合でも、ほとんど待ち時間なく生成できるのです。
簡単なプログラミング
VB-Reportのプログラミングの例を簡単に示しましょう。
VB-Reportでは、Excelシートを読み込んだ後に下記のコードでセル「A1」に値を書き込めます。
cellReport1.Cell("A1").Value = "VB-Report 10";
あるいは、「**Name」という文字列が書き込まれているセルを探して、そこに任意の値を書き込むことも下記のコードでできます。
cellReport1.Cell("**Name").Value = "任意の値";
こうすることでExcelシートのデザイン変更があってもコードを書き換える必要がなくなるのです。
もちろん、元のExcelシートに設定されたセルの高さや幅、罫線、文字の色や背景色、計算式、図やシェイプなどは、新たなExcelシート生成時やPDFファイル生成時にもきちんと再現されます(一部のシェイプを除く)。
業務アプリ完成後も帳票デザインはExcelで柔軟に変更可能
VB-Reportを用いたアプリケーションは、デスクトップでも、サーバでも実行可能です。
もちろんMicrosoft AzureやAmazon Web Services(AWS)といったクラウドにも対応。
VB-Reportの開発元であるアドバンスソフトウェアのデモページ「VB-Report 10.0 for .NET - ASP.NET MVC デモ」は、実際にAWSで動作させています。
VB-Reportを用いてサーバサイドで生成された帳票は、Webブラウザ上で動作するプレビューコントロールでプレビュー表示が可能。
最新版のVB-Reportでは、ASP.NET MVC用にJavaScriptで構成されたプレビューコントロールが追加され、SVGを用いた高精細かつ実際の帳票に忠実なプレビューを簡単に実装できるようになりました。
このプレビュー画面からWebブラウザの印刷画面を呼び出してWindowsから印刷を行うことも可能ですし、生成されたExcelファイルやPDFを手元のPCに保存することも可能です。
このようにVB-Reportを用いることで、現場で使われているExcelシートをそのまま帳票デザインとして活用するコードが簡単に書けます。しかもExcelシートのデザインが変わってもコードを変更しなくて済むようなコーディングも容易なのです。
つまり業務アプリケーションが完成した後も、帳票デザインはExcelシートを変更するだけで済むため、現場での変更要求にも簡単に応えることができます。
言い換えれば、VB-Reportは業務アプリケーションの帳票開発においてロジックとデザインが分離できるのです。これによりプログラマと現場担当者が緊密かつ効率的に協力できるようになり、より本質的に便利な業務アプリケーションの実現につながることでしょう。
≫製品情報 - VB-Report 10 | アドバンスソフトウェア株式会社
≫VB-Report 10.0 for .NET - ASP.NET MVC デモ
(本記事はアドバンスソフトウェア提供のタイアップ記事です)
あわせて読みたい
AWSとRed Hatが「Red Hat OpenShift Service on AWS」発表。AWS上のフルマネージドサービスとして。なぜAWSとRed Hatは手を組んだか?
≪前の記事
Docker社、Appleシリコン搭載Mac用の「Docker Desktop」を開発中と表明。Rosetta 2による変換では十分に動かない模様