逗號分隔值(CSV) 是一種以純文本形式存儲數據的文件格式,其中值以逗號分隔。 CSV 廣泛用於在應用程序之間交換數據。作為開發人員,我們經常需要將大型 CSV 數據轉換為可呈現的格式。本文將指導您使用簡單的模板將 CSV 數據轉換為 Java 中的 PDF 和 MS Word 報告。

以下主題涵蓋如下:

報告生成 Java API

GroupDocs.Assembly for Java 是我在本文中使用的報告生成 API,用於根據選定的 CSV 數據和 TXT 格式的模板生成報告。它還支持從多個數據源(如 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數據定義模板
  • 提供CSV數據源和模板,以簡單的方法生成PDF報告。
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)\]>>

Java 從 CSV 生成 PDF 報告的步驟

以下步驟說明了根據定義的模板將 CSV 數據自動轉換為 PDF 報告。

以下代碼顯示瞭如何在 Java 中將 CSV 數據轉換為 PDF 報告。

// 使用 Java 中的 TXT 模板和 GroupDocs.Assembly API 從 CSV 數據生成 PDF 報告
// 定義數據源、模板和輸出報告文件。
String csvDataSource = "dataPath/Person.csv";
String templateFilePath = "templatePath/template.txt";
String reportFilePath = "reportsPath/reportFromCSV.pdf";

// 老撾 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);

在 Java 中從 CSV 數據生成 MS Word 報告

它與上面的 PDF 報告生成非常相似,您可以輕鬆地從 CSV 數據創建 MS Word DOC/DOCX 報告:

  • 從文件加載 CSV 數據。
  • 以 TXT 或 DOCX 格式定義模板。
  • 設置輸出報表文檔格式為DOC/DOCX。
  • 其餘代碼將保持不變,以從 CSV 數據生成 MS Word DOCX 報告。

以下代碼顯示瞭如何將 CSV 數據轉換為 Java 中的 DOCX 報告。

// 使用 Java 中的 TXT 模板和 GroupDocs.Assembly API 從 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 和 MS Word 報告。我希望您現在可以輕鬆構建自己的基於 Java 的應用程序,通過將 CSV 數據轉換為 PDF 格式來生成報告。同樣,您可以使用 JSON 和 XML 等數據源生成報告。

有關 API 的更多信息,您可以訪問 文檔GitHub 存儲庫。如果有進一步的疑問和歧義,請聯繫 論壇 上的免費支持。

也可以看看