AdvanceSoftware Tech Blog

アドバンスソフトウェア株式会社の技術ブログ

CSVReportで画像を挿入した帳票を作成する

CSVReportは、ExcelでデザインしたテンプレートとCSVデータからノーコードでPDF帳票を作成するアプリケーションです。
「帳票設定ファイル」を使用することで、画像を挿入した帳票を作成することが可能です。

この記事ではCSVReportで画像を挿入した帳票の作成方法を解説します。

画像挿入の基本

CSVReportによる画像の挿入では以下4点が必要です。

  • 画像ファイル
  • テンプレートのExcelファイル
  • CSVデータ
  • 帳票設定ファイル

まずは1つのセルへの画像挿入を例に、最低限必要な設定について解説します。
以下の通り、B1セルに画像を挿入します。

画像ファイル

以下の画像をExcelファイルに挿入します。

テンプレートのExcelファイル

テンプレートのExcelファイルは以下のレイアウトです。

上記のExcelファイルをsample1.xlsxとして任意の場所に保存してください。

CSVデータ

CSVデータは以下の通り、列名を "B1"、値を "sample1.png" とします。
CSVReportでは、値の設定位置(Excelファイルのセル)をCSVデータの列名で指定します。

"B1"
"sample1.png"

上記のCSVデータをsample1.csvとして任意の場所に保存してください。

帳票設定ファイル

帳票設定ファイルを使用しない場合、CSVデータの値を画像のパスとして扱えないためB1セルに "sample1.png" の文字列が設定されます。
CSVデータの値を画像のパスとして扱うため、帳票設定作成ユーティリティを使用して帳票設定ファイルを作成します。

CSVファイルのパスを設定

読み込むCSVファイルのパスを設定します。
赤枠①の[…]ボタン押下で開くファイル選択ダイアログから、先程作成したsample1.csvを選択してください。

その後、赤枠②の相対パスを選択して[OK]ボタンを押下します。

相対パスは帳票設定ファイルを起点としたパスのため、帳票設定ファイルを一度保存する必要があります。

パス形式の選択後に以下のダイアログが表示されるので、そのまま進めてsample1.csvと同じフォルダ内に帳票設定ファイルを保存します。
今回はsample1.xmlとして保存してください。

画面の左上に保存した帳票設定ファイル名、[CSVファイル名]に読み込むCSVファイルのパスが表示されています。

テンプレートのExcelファイルのパスを設定

テンプレートのExcelファイルのパスを設定します。
赤枠①の[追加]ボタン押下で新規の帳票テンプレート情報を追加します。
その後、赤枠②の[…]ボタン押下で開くファイル選択ダイアログから、先程作成したsample1.xlsxを選択してください。
CSVファイルと同様にパス形式の選択では[相対パス]を選択します。

帳票の出力先の設定

今回はExcelファイルのみ出力します。
赤枠内のチェックボックスにチェックを入れ、出力するExcelファイル名を入力します。
CSVファイルなどと同様にファイル選択ダイアログから設定することも可能です。

出力Excelファイル名はout.xlsxとします。

また、[出力 PDF ファイル名]を同じように設定することでPDFファイルの出力も可能です。

画像挿入の設定

[ページ設定]ボタン押下で[ページ設定]ウインドウが開きます。
シート名[Sheet1]を選択し、[画像]ボタンを押下します。

画像項目からセル座標(CSVの列名)の一覧が表示されるので「B1」を選択後、[追加]ボタンを押下します。

帳票設定ファイルは一度保存済みなので、上書き保存して帳票設定作成ユーティリティを閉じます。

帳票の出力

コマンドプロンプトを開き、保存した帳票設定ファイル(sample1.xml)が格納されたフォルダまでカレントディレクトリを移動します。
以下のコマンド実行で、帳票設定ファイルと同一階層にExcelファイルが出力されます。

"C:\Program Files (x86)\CSVReport\Bin\net462\CSVReport" -o sample1.xml

※「C:\Program Files (x86)\CSVReport\Bin\net462」はCSVReport.exeの既定のインストール先です。

冒頭でご確認頂いた帳票と同じ結果になります。

明細行への画像挿入

次に、以下のような明細行毎に画像を設定する方法を解説します。

必要となるものは先程と同じ以下4点です。

  • 画像ファイル
  • テンプレートのExcelファイル
  • CSVデータ
  • 帳票設定ファイル

画像ファイル

以下の画像を明細行毎に挿入します。

テンプレートのExcelファイル

画像挿入に限らず明細行がある帳票の場合、以下のような明細行1行分のレイアウトのみでデータ件数に合わせた明細行の出力が可能です。 2行目が明細行用のレイアウトになります。

上記のExcelファイルをsample2.xlsxとして任意の場所に保存してください。

CSVデータ

CSVデータの1レコードが帳票の1明細行に対応します。
列名(セル座標)はテンプレートの明細行を指定します。

今回はA列とC列を文字列として扱い、B列を画像のパスとして扱います。

"A2","B2","C2"
"001","sample1.png","sample1.png"
"002","sample2.png","sample2.png"
"003","sample3.png","sample3.png"

上記のCSVデータをsample2.csvとして任意の場所に保存してください。

帳票設定ファイル

帳票設定ファイルユーティリティで帳票設定ファイルを作成し、明細行で画像を扱うための設定を行います。

画像挿入の基本 - 帳票設定ファイル を参考に、以下の通り基本項目を設定します。
今回はPDFファイルの出力も行います。

  • [CSV ファイル名]:sample2.csv
  • [帳票テンプレートファイル名]:sample2.xlsx
  • [出力 Excel ファイル名]:out.xlsx
  • [出力 PDF ファイル名]:out.pdf
  • [帳票設定ファイル名]:sample2.xml

画像挿入の設定

[ページ設定]ボタンを押下で[ページ設定]ウインドウが開きます。

シート名[Sheet1]を選択し、赤枠①の[1 ページのレコード数]で[複数レコード]を選択します。
赤枠②のテキストボックスが入力可能になるので、テンプレートの明細行の範囲を指定します。
今回の場合は「A2:C2」となります。

入力後、[画像]ボタンを押下して[画像の詳細設定]ウインドウを開きます。

画像の詳細設定を赤枠の番号順に設定していきます。
また、今回はサイズ指定で画像を挿入します。

  1. 画像のパスとして扱いたいCSVデータの列名を選択します。今回は「B2」です。
  2. [サイズを指定する]を選択します。直下の入力欄が有効になります。
  3. 幅、高さ、サイズの単位を左から順に設定します。今回は「幅:100px、高さ:40px」で設定します。
  4. 右側の[追加]ボタン押下で1~3の内容を設定情報として追加します。
  5. [OK]ボタン押下でウインドウを閉じます。

帳票の出力

コマンドプロンプトを開き、保存した帳票設定ファイル(sample2.xml)が格納されたフォルダまでカレントディレクトリを移動します。
以下のコマンド実行で、帳票設定ファイルと同一階層にExcelファイルとPDFファイルが出力されます。

"C:\Program Files (x86)\CSVReport\Bin\net462\CSVReport" -o sample2.xml

出力したExcelファイル(上)とPDFファイル(下)です。
冒頭でご確認頂いた帳票と同じ結果になります。

さいごに

CSVReportで画像を挿入した帳票を作成する方法を解説してきました。

CSVReportでは画像の挿入の他、製品側でバーコードを生成することも可能です。バーコードの生成については今後、別記事で取り上げたいと思います。

今回は以上です。ありがとうございました。

© 2022 Advance Software Co., Ltd. All Rights Reserved.