AdvanceSoftware Tech Blog

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

CSVReportでのセルの指定方法

CSVReportは、Excelでデザインした帳票テンプレートとCSVデータからノーコードでPDF帳票を作成するアプリケーションです。 CSVデータのタイトル行(1行目)の項目名に帳票テンプレートのセル位置を記述することで、2行目以降のデータが指定のセル位置に差し込まれます。

この記事では、CSVの項目名と帳票テンプレートのセル位置を結び付ける、セル位置の指定方法について解説していきます。

各指定方法の説明では、製品付録のサンプルファイルをC:\直下にコピーし、コマンドプロンプトからコマンドを入力して実行しています。

<インストール先>\Samples\1-単票
<インストール先>\Samples\2-名前によるセル指定
<インストール先>\Samples\3-変数名によるセル指定

セル位置の指定方法

テンプレートファイル上のセル位置を表す情報(「A1」など)をCSVファイルの1行目に記述することで、 CSVデータと帳票テンプレートのセル位置を結び付けることができます。

セル位置の指定は、3つの方法が利用可能です。

A1参照方式
  • 「A12」、「D10」、「F25」など、Excel編集画面上でお馴染みの、直感的に分かり易いセル位置指定方式です。
セル名(名前の定義)
  • 予めExcelのセルに任意の名前を登録し、その名前で指定する方法です。
  • Excelの「名前の機能」を使用してセルに名前を付け、その名前を項目名としてCSVファイルの項目名と結び付けることが可能です。
  • CSVファイルの項目名として、データベースのフィールド名をそのまま使用する場合、効率よく設定することができます。
変数名
  • 製品独自機能として、アスタリスク2つ("**")から始まる任意の文字列を変数名として扱います。
  • "**" から始まる任意の文字列をCSVデータと帳票テンプレートに登録し、項目名として結び付けます。
  • セル上の変数名文字列を移動させるだけで値の差込位置を変更でき、作成後も位置の変更がしやすいメリットがあります。

A1参照形式で帳票を作成する

A1参照形式で帳票を作成します。

用意したファイル

  • C :\1-単票
    • 1-単票.xlsx
    • 1-単票.csv

ファイルを確認していきます。

「1-単票.xlsx」

A1参照方式の帳票のテンプレートです。

「1-単票.csv

このように、値を登録したいセル位置を1行目に記述する事で、指定は完了です。

CSVの2行目のデータに注目した時、帳票テンプレートに対して、
A4セルに対し「株式会社 ○○○○」、
A12セルに対し「235000」、
...

のようにデータが差し込まれる動作になります。

コマンド

"C:\Program Files (x86)\CSVReport\Bin\net462\CsvReport.exe" -c 1-単票.csv -t 1-単票.xlsx -p output.pdf

実行結果として、以下のように帳票が作成されました。

セル名(名前の定義)を参照して帳票を作成する

セル名を参照する方法で帳票を作成します。
この指定方法の場合、予めExcelファイルのセルに任意の名前を登録しておく必要があります。

用意したファイル

  • C : \2-名前によるセル指定
    • 2-名前によるセル指定.xlsx
    • 2-名前によるセル指定.csv

ファイルを確認していきます。

「2-名前によるセル指定.xlsx」

今回の帳票テンプレートでは、A12セルに「LastTrans」など、セルに名前を設定してあります。
セルの名前は、設定したいセルを選択した状態で「名前ボックス」から登録を行うか、「数式」タブ - 「名前の管理」 から登録、編集、削除が可能です。

「2-名前によるセル指定.xlsx」 に登録している名前の一覧は、以下の通りです。

「2-名前によるセル指定.csv

項目名は、帳票テンプレートに設定したセル名と同じである必要があります。

CSVの2行目のデータに注目した時、帳票テンプレートに対して、
Company セルに対し「株式会社 ○○○○」、
LastTrans セルに対し「235000」、
...

のようにデータが差し込まれる動作になります。

コマンド

"C:\Program Files (x86)\CSVReport\Bin\net462\CsvReport.exe" -c 2-名前によるセル指定.csv -t 2-名前によるセル指定.xlsx -p output.pdf

実行結果として、以下のように帳票が作成されました。

変数名を参照して帳票を作成する

変数名を参照する方法で帳票を作成します。
この指定方法の場合、予めExcelのセルにアスタリスク2つ("**")からはじまる文字列を登録しておく必要があります。

用意したファイル

  • C : \3-変数名によるセル指定
    • 3-変数名によるセル指定.xlsx
    • 3-変数名によるセル指定.csv

ファイルを確認していきます。

「3-変数名によるセル指定.xlsx」

今回の帳票テンプレートでは、セルに「**Company」、「**LastTrans」などの変数名文字列を登録してあります。

「3-変数名によるセル指定.csv

項目名は、帳票テンプレートに設定している変数名文字列と同じである必要があります。

CSVの2行目のデータに注目した時、帳票テンプレートに対して、
変数名 **Company に対し「株式会社 ○○○○」、
変数名 **LastTrans に対し「235000」、
...

のようにデータが差し込まれる動作になります。

コマンド

"C:\Program Files (x86)\CSVReport\Bin\net462\CsvReport.exe" -c 3-変数名によるセル指定.csv -t 3-変数名によるセル指定.xlsx -p output.pdf

実行結果として、以下のように帳票が作成されました。

また、使用しなかった変数名は出力結果に反映されず、空白になる動作仕様となっています。

指定方法を複合利用して帳票を作成

3つの指定方法は、組み合わせて使用する事も可能です。以下のようなファイルを用意します。

「指定方法複合.xlsx」

A3セルにセル名「name」を、D5セルに変数名文字列を登録しています。

「指定方法複合.csv

項目名をそれぞれA1参照形式、セル名、変数名で指定しています。

実行結果として、以下のように帳票が作成されました。

さいごに

CSVデータと帳票テンプレートで帳票出力する際の、セル位置の指定方法について解説してきました。
今回は以上です、ありがとうございました。

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