カンマ区切り値(CSV) は、値をカンマで区切ったプレーンテキスト形式でデータを保存するためのファイル形式です。 CSVは、アプリケーション間でデータを交換するために広く使用されています。開発者として、私たちはしばしば大きなCSVデータを見栄えのする形式に変換する必要があります。この記事では、簡単なテンプレートを使用して、CSVデータをJavaでPDFおよびMSWordレポートに変換する方法について説明します。

以下のトピックについて説明します。

*レポート生成JavaAPI *CSVデータからPDFレポートを生成 *CSVデータからMSWordレポートを生成

レポート生成JavaAPI

GroupDocs.Assembly for Javaは、選択したCSVデータとTXT形式のテンプレートからレポートを生成するためにこの記事で使用したレポート生成APIです。また、** JSON、XML などの複数のデータソースからのレポート生成の自動化、およびデータファイルとしての MS Word Excel **、PowerPointファイルからのレポート生成の自動化もサポートしています。

###ダウンロードまたは構成

ダウンロードセクションからJARファイルをダウンロードするか、mavenベースのJavaアプリケーションのpox.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データソースとテンプレートを提供します。

JavaでのCSVからPDFへのレポート

###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リポジトリにアクセスしてください。さらに質問やあいまいな点がある場合は、フォーラムの無料サポートに連絡してください。

関連項目

*Javaを使用してJSONデータからレポートを生成する