カンマ区切り値 (CSV) は、値をカンマで区切ったプレーンテキスト形式でデータを保存するためのファイル形式です。 CSVは、アプリケーション間でデータを交換するために広く使用されています。開発者として、私たちはしばしば大きなCSVデータを見栄えのする形式に変換する必要があります。この記事では、簡単なテンプレートを使用して、CSVデータをJavaでPDFおよびMSWordレポートに変換する方法について説明します。
以下のトピックについて説明します。
レポート生成JavaAPI
GroupDocs.Assembly for Javaは、選択したCSVデータとTXT形式のテンプレートからレポートを生成するためにこの記事で使用したレポート生成APIです。また、** JSON、XML などの複数のデータソースからのレポート生成の自動化、およびデータファイルとしての MS Word 、 Excel **、PowerPointファイルからのレポート生成の自動化もサポートしています。
ダウンロードまたは構成
ダウンロードセクションからJARファイルをダウンロードするか、mavenベースのJavaアプリケーションのpom.xmlのリポジトリと依存関係の構成を取得することができます。
<repository>
<id>GroupDocsJavaAPI</id>
<name>GroupDocs Java API</name>
<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-assembly</artifactId>
<version>21.4</version>
</dependency>
JavaでCSVデータからPDFレポートを生成する
データを表示可能なPDFに変換することから始めましょう。次の手順では、CSVデータをフォーマットされたPDFレポートに変換します。
- CSVデータソースを読み込む
- CSVデータに従ってテンプレートを定義します
- PDFレポートを生成する簡単な方法にCSVデータソースとテンプレートを提供します。

CSVデータ
PDFレポートの生成には、以下のさまざまな人物のサンプルCSVデータと、それぞれの年齢および生年月日を使用します。
Name,Age,Birth
John Doe,32,4/1/1989 16:00
Jane Doe,29,1/31/1992 7:00
John Smith,53,3/8/1968 13:00
テンプレート
次のテンプレートをTXTまたはDOCX形式で定義します。これにより、人物のリストとその詳細を繰り返すことができます。その後、レポート生成のコードにジャンプできます。
<<foreach \[in persons\]>>Name: <<\[Name\]>>, Age: <<\[Age\]>>, Date of Birth: <<\[Birth\]:"dd.MM.yyyy">>
<</foreach>>
Average age: <<\[persons.**average**(p => p.Age)\]>>
CSVからPDFレポートを生成するJavaの手順
次の手順では、定義されたテンプレートに従って、CSVデータをPDFレポートに自動変換する方法について説明します。
- CSVデータファイル、.txtテンプレートファイル、およびPDF出力レポートファイルのパスを定義します。
- CSVデータファイルでCsvDataSoureをインスタンス化します。
- 定義されたCsvDataSourceを使用してDataSourceInfoを作成します。
- DocumentAssemblerクラスの_assembleDocument _メソッドを呼び出して、生成されたPDFレポートを取得します。
次のコードは、JavaでCSVデータをPDFレポートに変換する方法を示しています。
// GroupDocs.AssemblyAPIを使用してJavaでTXTテンプレートを使用してCSVデータからPDFレポートを生成する
// データソース、テンプレート、および出力レポートファイルを定義します。
String csvDataSource = "dataPath/Person.csv";
String templateFilePath = "templatePath/template.txt";
String reportFilePath = "reportsPath/reportFromCSV.pdf";
// LaodCSVデータソース
CsvDataLoadOptions options = new CsvDataLoadOptions(true);
CsvDataSource datasource= new CsvDataSource(csvDataSource,options);
DataSourceInfo dataSourceInfo = new DataSourceInfo(datasource,"persons");
// レポートの生成
DocumentAssembler assembler = new DocumentAssembler();
assembler.assembleDocument(templateFilePath, reportFilePath, dataSourceInfo);
JavaでCSVデータからMSWordレポートを生成する
上記のPDFレポートの生成と非常によく似ており、CSVデータからMS Word DOC/DOCXレポートを簡単に作成できます。
- ファイルからCSVデータをロードします。
- TXTまたはDOCX形式でテンプレートを定義します。
- 出力レポートドキュメント形式をDOC/DOCXとして設定します。
- 残りのコードは、CSVデータからMSWordDOCXレポートを生成するために同じままです。
次のコードは、JavaでCSVデータをDOCXレポートに変換する方法を示しています。
// GroupDocs.AssemblyAPIを使用してJavaでTXTテンプレートを使用してCSVデータからWordレポートを生成する
// データソース、テンプレート、および出力レポートファイルを定義します。
String csvDataSource = "dataPath/Person.csv";
String templateFilePath = "templatePath/template.txt";
String reportFilePath = "reportsPath/reportFromCSV.docx";
// CSVデータソースを読み込む
CsvDataLoadOptions options = new CsvDataLoadOptions(true);
CsvDataSource datasource= new CsvDataSource(csvDataSource,options);
DataSourceInfo dataSourceInfo = new DataSourceInfo(datasource,"persons");
// レポートの生成
DocumentAssembler assembler = new DocumentAssembler();
assembler.assembleDocument(templateFilePath, reportFilePath, dataSourceInfo);
無料のAPIライセンスを取得する
評価の制限なしにAPIを使用するために、無料の一時ライセンスを取得できます。
結論
要約すると、JavaでCSVデータをPDFおよびMSWordレポートに変換する方法を学びました。 CSVデータをPDF形式に変換してレポートを生成する独自のJavaベースのアプリケーションを作成することに慣れていることを願っています。同様に、JSONやXMLなどのデータソースを使用してレポートを生成できます。
APIの詳細については、ドキュメントおよびGitHubリポジトリにアクセスしてください。さらに質問やあいまいな点がある場合は、フォーラムの無料サポートに連絡してください。