逗號分隔值(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報告。

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 報告。
- 定義 CSV 數據文件、.txt 模板文件和 PDF 輸出報告文件路徑。
- 使用 CSV 數據文件實例化 CsvDataSoure。
- 使用定義的 CsvDataSource 創建 DataSourceInfo。
- 調用DocumentAssembler類的assembleDocument方法獲取生成的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 存儲庫。如果有進一步的疑問和歧義,請聯繫 論壇 上的免費支持。