JSON là một định dạng trao đổi dữ liệu được định dạng và có thể đọc được để truyền dữ liệu với các thuộc tính. Tuy nhiên, dữ liệu lớn ở định dạng JSON không được trình bày và dễ hiểu cho lắm. Chúng tôi chủ yếu cần chuyển đổi dữ liệu JSON lớn thành đị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 JSON thành báo cáo PDF và MS Word trong Java bằng một mẫu đơn giản.
API Java tạo báo cáo
Tôi sẽ sử dụng GroupDocs.Assembly for Java API để tạo báo cáo từ dữ liệu JSON được cung cấp và mẫu ở định dạng DOCX và TXT. Nó cũng hỗ trợ tạo báo cáo tự động ở nhiều định dạng từ các nguồn dữ liệu CSV, XML.
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ác cấu hình phụ thuộc và kho lưu trữ 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.1</version>
</dependency>
Tạo báo cáo PDF từ dữ liệu JSON trong Java
Hãy nhanh chóng chuyển sang các bước sẽ giúp bạn chuyển đổi dữ liệu JSON thành báo cáo PDF được định dạng.
- Nhận nguồn dữ liệu JSON
- Xác định mẫu theo dữ liệu JSON
- Cung cấp mẫu và nguồn dữ liệu JSON cho mã java đơn giản để tạo báo cáo.
Dữ liệu JSON
Đối với việc tạo báo cáo PDF, tôi sẽ sử dụng dữ liệu JSON mẫu sau đây của người quản lý, khách hàng tương ứng và thông tin chi tiết của họ.
\[
{
"Name":"John Smith","Contract":\[
{"Client":{"Name":"A Company"},"Price":1200000},
{"Client":{"Name":"B Ltd."},"Price":750000},
{"Client":{"Name":"C & D"},"Price":350000}\]
},
{
"Name":"Tony Anderson","Contract":\[
{"Client":{"Name":"E Corp."},"Price":650000},
{"Client":{"Name":"F & Partners"},"Price":550000}\]
},
{
"Name":"July James","Contract":\[
{"Client":{"Name":"G & Co."},"Price":350000},
{"Client":{"Name":"H Group"},"Price":250000},
{"Client":{"Name":"I & Sons"},"Price":100000},
{"Client":{"Name":"J Ent."},"Price":100000}\]
}
\]
Mẫu
Xác định mẫu sau ở định dạng TXT hoặc DOCX. Điều này sẽ cho phép lặp lại Người quản lý và Khách hàng tương ứng của họ và thông tin chi tiết của họ. Sau đó, bạn có thể chuyển sang viết mã để tạo báo cáo.
<<foreach [in managers]>>Manager: <<[Name]>>
Contracts:
<<foreach [in Contract]>>- <<[Client.Name]>> ($<<[Price]>>)
<</foreach>>
<</foreach>>
Các bước Java để tạo báo cáo PDF từ JSON
Các bước sau và mã Java cho phép tự động chuyển đổi dữ liệu JSON thành báo cáo PDF theo mẫu đã xác định.
- Xác định tệp dữ liệu JSON, tệp mẫu .txt và đường dẫn tệp báo cáo đầu ra PDF.
- Khởi tạo JsonDataSoure bằng tệp dữ liệu JSON.
- Tạo DataSourceInfo với JsonDataSource đã xác định.
- Gọi phương thức assemblyDocument của lớp DocumentAssembler để tạo báo cáo PDF từ dữ liệu JSON được cung cấp và mẫu đã xác định.
// Tạo Báo cáo PDF từ dữ liệu JSON 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 jsonFilePath = "dataPath/ManagerData.json";
String templateFilePath = "templatePath/template.txt";
String reportFilePath = "reportsPath/reportFromJSON.pdf";
// Khởi tạo nguồn dữ liệu JSON
JsonDataSource datasource= new JsonDataSource(jsonFilePath);
DataSourceInfo dataSourceInfo = new DataSourceInfo(datasource,"managers");
// 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 JSON trong Java
Tương tự, giống như cách tạo báo cáo PDF ở trên, bạn có thể dễ dàng tạo báo cáo DOCX bằng cách:
- Xác định cùng một mẫu ở định dạng DOCX.
- Đặt định dạng tài liệu báo cáo đầu ra là 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 JSON.
// Tạo Báo cáo Word từ dữ liệu JSON bằng mẫu DOCX 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 jsonFilePath = "dataPath/ManagerData.json";
String templateFilePath = "templatePath/template.docx";
String reportFilePath = "reportsPath/reportFromJSON.docx";
// Khởi tạo nguồn dữ liệu JSON
JsonDataSource datasource= new JsonDataSource(jsonFilePath);
DataSourceInfo dataSourceInfo = new DataSourceInfo(datasource,"managers");
// Tạo báo cáo
DocumentAssembler assembler = new DocumentAssembler();
assembler.assembleDocument(templateFilePath,reportFilePath,dataSourceInfo);
Để biết thêm chi tiết, tùy chọn và ví dụ, bạn có thể xem qua kho lưu trữ tài liệu và 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.
Sự kết luận
Tôi hy vọng bạn sẽ 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 JSON sang định dạng PDF. Tương tự, bạn có thể tạo báo cáo ở các định dạng khác như DOCX bằng các nguồn dữ liệu khác như CSV và XML.