XML là một ngôn ngữ tự mô tả được đề xuất bởi W3C được thiết kế để lưu trữ và vận chuyển dữ liệu. Nhà phát triển có thể thay đổi định dạng XML thành bất kỳ định dạng nào tốt hơn mà con người có thể đọc được như tài liệu PDF hoặc MS Word trong ứng dụng .NET. Bài viết này sẽ thảo luận cách chuyển đổi dữ liệu XML thành các báo cáo PDF và MS Word bằng C# thông qua các mẫu đơn giản.

Báo cáo XML sang PDF trong C#

Các chủ đề sau đây được thảo luận dưới đây:

Tạo báo cáo .NET API – XML sang PDF và WORD

GroupDocs.Assembly for .NET là API để tự động tạo báo cáo từ dữ liệu XML bằng mẫu DOCX hoặc TXT. Ngoài ra, nó hỗ trợ JSON, CSV và các nguồn dữ liệu khác để chuyển đổi dữ liệu thành các báo cáo có định dạng tệp khác nhau.

Bạn có thể tải xuống trình cài đặt DLL hoặc MSI từ phần tải xuống hoặc cài đặt API trong ứng dụng .NET của bạn qua NuGet.

PM> Install-Package GroupDocs.Assembly

Tạo báo cáo PDF từ dữ liệu XML trong C#

3 bước đơn giản sẽ giúp bạn chuyển đổi dữ liệu XML thành báo cáo PDF được định dạng.

  1. Tải nguồn dữ liệu XML của bạn.
  2. Xác định mẫu theo dữ liệu XML đã tải.
  3. Cuối cùng, cung cấp nguồn dữ liệu XML và mẫu cho một phương pháp tạo báo cáo.

Dữ liệu XML

Dữ liệu mẫu XML sau đây được sử dụng để chuyển đổi nó thành báo cáo PDF. Nó chứa dữ liệu của người quản lý và khách hàng tương ứng của họ với một số chi tiết khác.

<Managers>
	<Manager>
		<Name>John Smith</Name>
		<Contract>
			<Client>
				<Name>A Company</Name>
			</Client>
			<Price>1200000</Price>
		</Contract>
		<Contract>
		...
		</Contract>
		...
	</Manager>
	<Manager>
		<Name>Tony Anderson</Name>
		...
	</Manager>
	...
</Managers>

Mẫu

Xác định mẫu ở định dạng TXT hoặc DOCX theo dữ liệu XML nguồn của bạn. Tôi đang sử dụng mẫu được đề cập bên dưới được tạo theo dữ liệu XML của người quản lý đã đề cập ở trên. Điều này sẽ làm cho trình tạo báo cáo lặp lại Người quản lý và Khách hàng tương ứng của họ. Sau khi hoàn thành mẫu, bạn gần như đã hoàn thành. Bạn có thể sử dụng mã bên dưới để tạo báo cáo của mình.

<<foreach \[in managers\]>>Manager: <<\[Name\]>>
Contracts:
<<foreach \[in Contract\]>>- <<\[Client.Name\]>> ($<<\[Price\]>>)
<</foreach>>
<</foreach>>

Các bước C# để tạo Báo cáo PDF từ XML

Các bước sau đây cho phép bạn tự động tạo báo cáo PDF từ dữ liệu XML của mình theo mẫu đã xác định.

  • Xác định tệp dữ liệu XML, tệp mẫu văn bản và tệp báo cáo đầu ra PDF.
  • Khởi tạo XMLDataSoure bằng tệp dữ liệu XML.
  • Tạo DataSourceInfo với nguồn dữ liệu XML đã xác định.
  • Gọi phương thức AssembleDocument để tạo báo cáo PDF.

Đoạn mã sau thực hiện các bước trên và tạo tệp PDF từ nguồn dữ liệu XML bằng C#.

// Tạo Báo cáo PDF từ dữ liệu XML bằng cách sử dụng mẫu TXT trong CSharp
// Xác định nguồn dữ liệu, mẫu và tệp báo cáo đầu ra.
string xmlDataSource = @"dataPath/Managers.xml";
string templateFilePath = @"templatePath/xml-template.txt";
string reportFilePath = @"reportsPath/xml-to-pdf-report.pdf";
// Tải nguồn dữ liệu XML
XmlDataSource dataSource = new XmlDataSource(xmlDataSource);
// Tập hợp tài liệu để tạo PDF
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(templateFilePath, reportFilePath, new DataSourceInfo(dataSource, "managers"));

Tạo Báo cáo MS Word từ dữ liệu XML trong C#

Theo cách tương tự, bạn cũng có thể tạo báo cáo ở định dạng MS Word DOC/DOCX bằng cách sử dụng cùng một dữ liệu XML. Sẽ không có sự khác biệt trong mã so với mã mà chúng ta đã thảo luận ở trên, ngoại trừ việc bạn phải thay đổi tên tệp đầu ra.

  • Tải tệp dữ liệu XML.
  • 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à DOCX.
  • Cung cấp tệp dữ liệu XML, mẫu và đường dẫn tệp đầu ra cho DocumentAssembler để chuyển đổi XML thành DOCX.

Đoạn mã sau chuyển đổi XML và tạo tệp DOCX bằng cách sử dụng mẫu đã xác định bằng C#.

// Tạo Báo cáo MS Word từ dữ liệu XML bằng mẫu văn bản trong CSharp
// Xác định nguồn dữ liệu, mẫu và tệp báo cáo đầu ra.
string xmlDataSource = @"dataPath/Managers.xml";
string templateFilePath = @"templatePath/xml-template.txt";
string reportFilePath = @"reportsPath/xml-to-word-report.docx";
// Tải nguồn dữ liệu XML
XmlDataSource dataSource = new XmlDataSource(xmlDataSource);
// Tập hợp tài liệu để tạo Báo cáo Word
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(templateFilePath, reportFilePath, new DataSourceInfo(dataSource, "managers"));

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 XML thành định dạng PDF dưới dạng báo cáo bằng C# với ứng dụng .NET. Ngoài ra, chúng tôi đã thảo luận về việc tạo báo cáo ở định dạng DOC/DOCX từ cùng một XML bằng cách sử dụng mẫu. Sau khi đọc loạt bài viết tạo báo cáo này; Tạo Báo cáo PDF và MS Word từ JSON, CSV, XML, bạn có thể phát triển ứng dụng .NET xây dựng báo cáo của riêng mình.

Để biết thêm về GroupDocs.Assembly, các tùy chọn và ví dụ, hãy truy cập tài liệu và kho lưu trữ GitHub. Nếu có thêm thắc mắc, hãy liên hệ với chúng tôi qua diễn đàn.

Xem thêm