ノーコードでCSVファイルからPDF帳票を出力。複雑なレイアウトでもExcelでユーザー自身が作成、カスタマイズ可能[PR]
今回は「ノーコードでCSVファイルからPDF帳票を出力。複雑なレイアウトでもExcelでユーザー自身が作成、カスタマイズ可能[PR]」についてご紹介します。
関連ワード (明細部分、項目、頻繁等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
日本の帳票の多くは、罫線や背景を用いた表組が多く設定されていたり、数字の桁数を間違わないように1文字ずつ区切られているなど、きめ細かいレイアウトが特長です。
しかも、インボイス制度の導入によって請求書に項目の追加が必要になる、取引先の都合によって納品書のレイアウトが変更されるなど、帳票のレイアウトは頻繁に変更され得ます。
システム開発者にとって、こうしたきめ細かな帳票レイアウトを多数、しかも迅速にしていくことの難しさとコストの高さは容易に想像できるでしょう。
Excelワークシートで簡単にレイアウトを作成
その解決策として、ユーザー自身が帳票のレイアウトを作成し、必要に応じて柔軟に変更できるシステムが考えられます。
それを実現するのがアドバンスソフトウェアがリリースした「CSVReport」です。
現実として多くの現場で帳票のレイアウト作成に使われているのはExcelです。
そこでCSVReportは、Excelのワークシートとして作成されたレイアウトとCSVファイルから、ノーコードで PDF形式で帳票を作成する仕組みを備えています。
テンプレートとしてのExcelのワークシートとデータとしてのCSVファイル、そしてコマンドラインから実行可能なCSVReport本体があれば、PDF形式の帳票が自動的に生成されます。
実行環境にExcelをインストールしておく必要はないため、サーバやクラウド環境でも利用可能です。タスクスケジューラやバッチファイルからの実行、ミドルウェアなどからの実行ももちろん可能です。
C#やVisual Basicのプログラムから、CSVReport の仕組みを利用するためのアセンブリ(DLL)も提供されています。
CSVReportでどのような帳票が作成可能なのか、概要を見ていきましょう。
ExcelでレイアウトしてCSVファイルでデータを埋め込み
下記はCSVReportで作成したシンプルな帳票の例です。
この帳票のテンプレートとなっているのが下記のExcelワークシートです。CSVファイルから読み込んだデータを埋め込みたいセルの中に「**LastTrans」や「**Payment」などのアスタリスク2文字で始まる値が書き込まれています。
そして、このセル中の値と同じ値が、CSVファイルの先頭行にも書き込まれています。
これにより、CSVファイルの2行目以降のデータは、それぞれの列の先頭行に書き込まれた値と同じ値を持つExcelワークシートのセルに埋め込まれて、PDFファイルの帳票が出力されるのです。
上記のCSVファイルのように、2行目以降のデータが3件あれば、PDFファイル内に3ページの帳票が出力されます。
ExcelワークシートのどのセルにCSVファイルのデータを書き込むかを指定する方法は、上記の方法以外にもExcelワークシート上でセル名を指定し、そのセル名をCSVファイルの先頭行に書く方法、CSVファイルの先頭行に「A1」や「B3」のようにExcelワークシートのアドレスを直接書く方法などもあります。
明細項目の掲載も可能
もちろん下記のように、1つの帳票に明細を掲載することもできます。
テンプレートを見てみると、明細の行数が固定されています。
このテンプレートに埋め込むデータを保存したCSVファイルには 1行に明細のすべての行数分のデータが書き込まれています。
明細の行数が固定されているテンプレートは作成が容易な利点があります。
しかしCSVファイルの生成が面倒なこと、テンプレートの明細の行数を変更するとCSVファイルにも変更が必要になること、などの課題があります。
そこでCSVReportには、明細の行数をCSVファイルの内容に応じて自動的に増減できる機能が用意されています。
Excelワークシートのテンプレートは下記のように、明細部分は1行のみの定義となっており、明細のデータ件数によって自動的にレポート内で行数が増減します。
このテンプレートに埋め込むデータを保存したCSVファイルでは、1行に1明細のデータが書き込まれています。
このあと説明する帳票設定作成ユーティリティによる帳票設定ファイルを使い、テンプレートの明細の位置、明細の列を定義すると、明細のデータ件数によって自動的にレポート内で行数が増減する明細帳票が出力できます。
このような明細行の増減や集計などは、製品収録の「CSVReport 帳票設定作成ユーティリティ」を用いることで柔軟な設定が可能です。
帳票設定ファイルでは、CSVファイル、Excelワークシート、PDF ファイルのそれぞれのファイルパスや、CSVファイル内のどの項目が明細となるか、あるいは宛先企業名ごとに異なるExcelワークシートをテンプレートとして用いる設定、集計計算の対象となる項目を指定して小計や合計を帳票に書き込む設定などができます。
企業名が変われば改ページをして次の帳票が作成されるようにも設定できます。
そのほかCSVReportには、日本の帳票には欠かせない印影を埋め込む機能、バーコードやQRコードを生成して埋め込む機能などもあります。これらの画像もデータに応じた設定が可能です。
そしてCSVReportをサーバ上で実行する場合には、Webブラウザ上でプレビューするためのWebビューアも用意されていますので、ローコードでのWebアプリケーション化にも対応します。
日本の帳票に求められるレイアウトをノーコードで実現
このようにCSVReportは日本のきめ細かなレイアウトに対応しつつ、ノーコードでPDF形式の帳票の作成やカスタマイズが可能な機能を提供しています。
対応OSはWindows 10/11、Windows Server 2016/2019/2022。Microsoft AzureとAmazon Web Servicesなどクラウドにも対応。
開発ライセンスは同社製品であるVB-Report 11に付属しており、1ライセンス当たり9万3500円。サーバー上で実行する場合のサーバー運用ライセンスは1ライセンス26万4000円となっています。
≫CSVReportの製品ページ
(本記事はアドバンスソフトウェア提供のタイアップ記事です)