Bạn có thể trình bày dữ liệu Microsoft Excel dưới dạng báo cáo tùy chỉnh cho người dùng của mình như khách hàng, các bên liên quan, v.v. Là nhà phát triển Java, bạn có thể tạo các báo cáo đó theo chương trình bằng cách sử dụng bảng tính Excel làm bảng dữ liệu. Trong bài viết này, bạn sẽ tìm hiểu cách tạo báo cáo từ dữ liệu Excel bằng Java.
Các chủ đề sau được thảo luận/đề cập trong bài viết này:
API Java để tạo báo cáo
Để tạo báo cáo từ dữ liệu Excel, tôi sẽ sử dụng API GroupDocs.Assembly for Java. Nó cho phép bạn xây dựng các ứng dụng tạo báo cáo và tự động hóa tài liệu mạnh mẽ. Nó tìm nạp dữ liệu từ nguồn dữ liệu theo tài liệu mẫu đã xác định, tập hợp dữ liệu và tạo báo cáo ở định dạng đầu ra đã chỉ định. API hỗ trợ tìm nạp dữ liệu từ nhiều nguồn dữ liệu khác nhau như XML, Excel, JSON và CSV. Bạn có thể dễ dàng tạo báo cáo ở tất cả các định dạng tệp thường được sử dụng như PDF, HTML và Microsoft Word.
Bạn có thể tải xuống JAR của API hoặc chỉ cần thêm cấu hình pom.xml sau vào ứng dụng Java dựa trên Maven của bạn để thử các ví dụ mã được đề cập bên dưới.
<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.7</version>
</dependency>
Tạo báo cáo từ dữ liệu Excel bằng Java
Bạn có thể dễ dàng tạo báo cáo trong Word từ dữ liệu Excel của mình bằng cách thực hiện theo các bước đơn giản được đề cập bên dưới:
- Nhận nguồn dữ liệu Excel
- Xác định một mẫu theo dữ liệu Excel
- Chuyển đổi dữ liệu Excel sang báo cáo Word trong Java
Nguồn dữ liệu Excel
Bạn có thể sử dụng dữ liệu dạng bảng làm nguồn dữ liệu được cung cấp trong bảng tính Excel để tạo báo cáo. Tôi sẽ sử dụng dữ liệu Excel mẫu sau để tạo báo cáo. Đây là dữ liệu hợp đồng của khách hàng với người quản lý tương ứng của họ và giá hợp đồng đã thỏa thuận.
Bản mẫu
Bạn có thể sử dụng cú pháp mẫu dựa trên Linq để tạo mẫu. Mẫu bao gồm các nội dung tài liệu phổ biến và các thẻ mô tả cấu trúc và các ràng buộc dữ liệu của mẫu. Bạn có thể xác định mẫu sau trong tệp DOCX hoặc XLSX. Mẫu này cho phép bạn lặp lại dữ liệu của Hợp đồng và người quản lý tương ứng của chúng với giá hợp đồng. Mỗi nhóm trong mẫu có một khóa duy nhất được xác định bởi bộ chọn đầu vào và chứa các mục của bảng liệt kê nguồn được liên kết với khóa này. Bạn có thể truy cập khóa của một phiên bản nhóm bằng thuộc tính Key. Sau khi tạo xong mẫu, bạn có thể chuyển sang mã để tạo báo cáo. Bạn có thể đọc thêm về cú pháp mẫu trong tài liệu.
Chuyển đổi dữ liệu Excel sang báo cáo Word trong Java
Bạn có thể tự động hóa việc chuyển đổi dữ liệu Excel sang báo cáo DOCX dựa trên mẫu bằng cách thực hiện theo các bước được đề cập bên dưới:
- Xác định tệp dữ liệu Excel, tệp mẫu và đường dẫn tệp báo cáo đầu ra DOCX
- Tạo một thể hiện của lớp DocumentTableOptions
- Đặt setFirstRowContainsColumnNames thành true
- Tạo DocumentTable với tệp dữ liệu Excel được xác định và DocumentTableOptions
- Tạo một thể hiện của lớp DocumentAssembler
- Gọi phương thức assembleDocument() với dữ liệu Excel được cung cấp và mẫu được xác định
Mẫu mã sau đây cho biết cách tạo báo cáo từ nguồn dữ liệu Excel theo mẫu đã xác định bằng cách sử dụng Java.
String srcDocument = "C:\\Files\\template.docx";
String docReport = "C:\\Files\\Output.docx";
String dataFilePath = "C:\\Files\\Contracts_Data.xlsx";
// Đặt trích xuất tên cột từ hàng đầu tiên.
DocumentTableOptions options = new DocumentTableOptions();
options.setFirstRowContainsColumnNames(true);
// Tạo bảng tài liệu
DocumentTable table = new DocumentTable(dataFilePath, 0, options);
// Tạo trình biên dịch tài liệu
DocumentAssembler assembler = new DocumentAssembler();
// Tập hợp dữ liệu và tạo báo cáo
assembler.assembleDocument(srcDocument,docReport,
new DataSourceInfo(new DataStorage(), null),
new DataSourceInfo(table,"ds"));
Lớp DocumentTableOptions cung cấp một tập hợp các tùy chọn để kiểm soát việc trích xuất dữ liệu từ bảng tài liệu. Tôi đặt thuộc tính FirstRowContainsColumnNames thành true để tiêu đề cột không trở thành một phần của dữ liệu báo cáo.
Lớp DocumentTable cung cấp quyền truy cập vào dữ liệu của một bảng (hoặc bảng tính) nằm trong tài liệu bên ngoài để sử dụng khi tập hợp tài liệu.
Lớp DocumentAssembler cung cấp nhiều phương thức khác nhau để tạo báo cáo bằng cách sử dụng tài liệu mẫu đã xác định cùng với dữ liệu. Phương thức AssembleDocument() của lớp này lấy ba tham số đầu vào, mẫu được xác định làm tài liệu nguồn, đường dẫn tệp đầu ra và nguồn dữ liệu. Nó điền dữ liệu từ nguồn dữ liệu dựa trên tài liệu mẫu được cung cấp và lưu trữ tài liệu kết quả vào đường dẫn đích. Bạn có thể lưu tài liệu kết quả thành nhiều định dạng tệp được hỗ trợ khác nhau như Word, Excel hoặc HTML.
Nhận giấy phép miễn phí
Bạn có thể dùng thử API mà không bị giới hạn đánh giá bằng cách yêu cầu giấy phép tạm thời miễn phí.
Phần kết luận
Trong bài viết này, bạn đã học cách tạo báo cáo từ dữ liệu Excel bằng Java. Bạn cũng đã học cách tạo mẫu báo cáo để tạo báo cáo. Bạn có thể tìm hiểu thêm về GroupDocs.Assembly dành cho API Java bằng cách sử dụng tài liệu. Trong trường hợp có bất kỳ sự mơ hồ nào, vui lòng liên hệ với chúng tôi trên diễn đàn.