Các giá trị được phân tách bằng dấu phẩy(CSV) là định dạng tệp để lưu trữ dữ liệu ở dạng văn bản thuần túy trong đó các giá trị được phân tách bằng dấu phẩy. CSV được sử dụng rộng rãi để trao đổi dữ liệu giữa các ứng dụng. Là nhà phát triển, chúng tôi thường cần chuyển đổi dữ liệu CSV lớn sang định dạng có thể trình bày được. Bài viết này sẽ hướng dẫn bạn chuyển đổi dữ liệu CSV thành báo cáo PDF và MS Word trong Java bằng một mẫu đơn giản.

Các chủ đề sau đây được đề cập dưới đây:

API Java tạo báo cáo

GroupDocs.Assembly for Java là API tạo báo cáo mà tôi đã sử dụng trong bài viết này để tạo báo cáo từ dữ liệu CSV đã chọn và mẫu ở định dạng TXT. Nó cũng hỗ trợ tự động tạo báo cáo từ nhiều nguồn dữ liệu như JSON, XML và cả từ các tệp MS Word, Excel và PowerPoint dưới dạng tệp dữ liệu.

Tải xuống hoặc định cấu hình

Bạn có thể tải xuống tệp JAR từ phần tải xuống hoặc chỉ nhận cấu hình kho lưu trữ và phần phụ thuộc cho tệp pom.xml của các ứng dụng Java dựa trên maven của bạn.

<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>

Tạo Báo cáo PDF từ Dữ liệu CSV trong Java

Hãy bắt đầu với việc chuyển đổi dữ liệu thành PDF có thể trình bày được. Các bước sau đây sẽ giúp bạn chuyển đổi dữ liệu CSV thành báo cáo PDF được định dạng.

  • Tải nguồn dữ liệu CSV
  • Xác định mẫu theo dữ liệu CSV
  • Cung cấp nguồn dữ liệu CSV và mẫu cho phương pháp đơn giản để tạo báo cáo PDF.
Báo cáo CSV sang PDF trong Java

Dữ liệu CSV

Để tạo báo cáo PDF, tôi sẽ sử dụng dữ liệu CSV mẫu sau đây của những người khác nhau cùng với độ tuổi và ngày sinh tương ứng của họ.

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

Mẫu

Xác định mẫu sau ở định dạng TXT hoặc DOCX. Điều này cho phép lặp lại danh sách những người có thông tin chi tiết của họ. Sau đó, bạn có thể chuyển sang mã để tạo báo cáo.

<<foreach \[in persons\]>>Name: <<\[Name\]>>, Age: <<\[Age\]>>, Date of Birth: <<\[Birth\]:"dd.MM.yyyy">>
<</foreach>>
Average age: <<\[persons.**average**(p => p.Age)\]>>

Các bước Java để tạo báo cáo PDF từ CSV

Các bước sau đây giải thích việc tự động chuyển đổi dữ liệu CSV thành báo cáo PDF theo mẫu đã xác định.

  • Xác định tệp dữ liệu CSV, tệp mẫu .txt và đường dẫn tệp báo cáo đầu ra PDF.
  • Khởi tạo CsvDataSoure bằng tệp dữ liệu CSV.
  • Tạo DataSourceInfo với CsvDataSource đã xác định.
  • Gọi phương thức assembleDocument của lớp DocumentAssembler để nhận báo cáo PDF được tạo.

Đoạn mã sau cho biết cách chuyển đổi dữ liệu CSV sang báo cáo PDF trong Java.

// Tạo Báo cáo PDF từ dữ liệu CSV bằng cách sử dụng mẫu TXT trong Java với GroupDocs.Assembly API
// Xác định nguồn dữ liệu, mẫu và tệp báo cáo đầu ra.
String csvDataSource = "dataPath/Person.csv";
String templateFilePath = "templatePath/template.txt";
String reportFilePath = "reportsPath/reportFromCSV.pdf";

// Laod Nguồn dữ liệu CSV
CsvDataLoadOptions options = new CsvDataLoadOptions(true);
CsvDataSource datasource= new CsvDataSource(csvDataSource,options);
DataSourceInfo dataSourceInfo = new DataSourceInfo(datasource,"persons");

// Tạo báo cáo
DocumentAssembler assembler = new DocumentAssembler();
assembler.assembleDocument(templateFilePath, reportFilePath, dataSourceInfo);

Tạo Báo cáo MS Word từ dữ liệu CSV trong Java

Nó rất giống với cách tạo báo cáo PDF ở trên, bạn có thể dễ dàng tạo báo cáo MS Word DOC/DOCX từ dữ liệu CSV:

  • Tải dữ liệu CSV từ tệp.
  • Xác định mẫu ở định dạng TXT hoặc DOCX.
  • Đặt định dạng tài liệu báo cáo đầu ra là DOC/DOCX.
  • Phần còn lại của mã sẽ giữ nguyên để tạo báo cáo MS Word DOCX từ dữ liệu CSV.

Đoạn mã sau cho biết cách chuyển đổi dữ liệu CSV sang báo cáo DOCX trong Java.

// Tạo Báo cáo Word từ dữ liệu CSV bằng cách sử dụng mẫu TXT trong Java với GroupDocs.Assembly API
// Xác định nguồn dữ liệu, mẫu và tệp báo cáo đầu ra.
String csvDataSource = "dataPath/Person.csv";
String templateFilePath = "templatePath/template.txt";
String reportFilePath = "reportsPath/reportFromCSV.docx";

// Tải nguồn dữ liệu CSV
CsvDataLoadOptions options = new CsvDataLoadOptions(true);
CsvDataSource datasource= new CsvDataSource(csvDataSource,options);
DataSourceInfo dataSourceInfo = new DataSourceInfo(datasource,"persons");

// Tạo báo cáo
DocumentAssembler assembler = new DocumentAssembler();
assembler.assembleDocument(templateFilePath, reportFilePath, dataSourceInfo);

Nhận giấy phép API miễn phí

Bạn có thể nhận giấy phép tạm thời miễn phí để sử dụng API mà không bị giới hạn đánh giá.

Sự kết luận

Tóm lại, bạn đã học cách chuyển đổi dữ liệu CSV thành báo cáo PDF và MS Word trong Java. Tôi hy vọng bây giờ bạn cảm thấy thoải mái khi xây dựng ứng dụng dựa trên Java của riêng mình để tạo báo cáo bằng cách chuyển đổi dữ liệu CSV sang định dạng PDF. Tương tự, bạn có thể tạo báo cáo bằng các nguồn dữ liệu như JSON và XML.

Để biết thêm về API, bạn có thể truy cập tài liệu và kho lưu trữ GitHub. Trong trường hợp có thêm thắc mắc và sự mơ hồ, hãy liên hệ với bộ phận hỗ trợ miễn phí trên diễn đàn.

Xem thêm