Bài viết này đề cập đến vấn đề định dạng dữ liệu JSON thô thành định dạng báo cáo có thể trình bày được và dễ hiểu trong ứng dụng .NET. Chúng tôi sẽ chuyển đổi dữ liệu JSON thành báo cáo PDF và DOCX trong C# bằng cách sử dụng các mẫu đơn giản.

Tạo Báo cáo PDF hoặc Word từ JSON trong CSharp

API .NET để tạo báo cáo

GroupDocs.Assembly for .NET là API tự động hóa tài liệu và tạo báo cáo cho các ứng dụng .NET. Nó cho phép bạn tạo báo cáo từ dữ liệu có sẵn ở nhiều định dạng khác nhau như JSON, XML hoặc CSV và mẫu ở nhiều định dạng khác nhau như tài liệu Word, bảng tính, bản trình bày hoặc định dạng văn bản. Nó cũng hỗ trợ nhiều tính năng định dạng báo cáo như dấu đầu dòng, danh sách được đánh số, biểu đồ, bảng, hình ảnh, mã vạch, v.v.

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 JSON trong C#

Hãy bắt đầu với các bước giúp bạn chuyển đổi dữ liệu JSON thành báo cáo PDF được định dạng trong C#.

  • Nhận nguồn dữ liệu JSON
  • Xác định mẫu theo dữ liệu JSON
  • Cung cấp nguồn dữ liệu JSON và mẫu cho mã C# đơn giản để tạo báo cáo.

Dữ liệu JSON

Đầu tiên, dữ liệu JSON mẫu sau đây được sử dụng để tạo báo cáo PDF hiển thị chi tiết và thông tin chi tiết của người quản lý và khách hàng tương ứng 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

Thứ hai, xác định mẫu sau ở định dạng TXT, DOCX hoặc ở định dạng bắt buộc. Điều này cho phép lặp lại dữ liệu của Người quản lý và Khách hàng tương ứng cũng như 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 C# để chuyển đổi báo cáo JSON sang PDF

Các bước mã C# sau đây 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 dữ liệu JSON, tệp mẫu 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 AssembleDocument 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 C# với GroupDocs.Assembly API
// Xác định nguồn dữ liệu, mẫu và tệp báo cáo đầu ra.
const string strDataSource = "dataPath/ManagerData.json";
const string strDocumentTemplate = "templatePath/template.txt";
const string strDocumentReport = "reportsPath/reportFromJSON.pdf";
// Khởi tạo nguồn dữ liệu JSON
JsonDataSource dataSource = new JsonDataSource(CommonUtilities.GetDataSourceDocument(strDataSource));
// Tạo báo cáo
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate),
    CommonUtilities.SetDestinationDocument(strDocumentReport),
    new DataSourceInfo(dataSource, "managers"));

Mã này sẽ tạo báo cáo PDF như trong hình trên. Bạn cũng có thể kiểm tra và các ví dụ tương tự ở trên từ kho lưu trữ GitHub.

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

Tương tự, giống như tạo báo cáo PDF ở trên, bạn có thể tạo báo cáo DOCX bằng cách thực hiện theo các bước sau:

  • 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 cách sử dụng mẫu DOCX trong C# với GroupDocs.Assembly API
// Xác định nguồn dữ liệu, mẫu và tệp báo cáo đầu ra.
const string strDataSource = "dataPath/ManagerData.json";
const string strDocumentTemplate = "templatePath/template.docx";
const string strDocumentReport = "reportsPath/reportFromJSON.docx";
// Khởi tạo nguồn dữ liệu JSON
JsonDataSource dataSource = new JsonDataSource(CommonUtilities.GetDataSourceDocument(strDataSource));
// Tạo báo cáo
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate),
    CommonUtilities.SetDestinationDocument(strDocumentReport),
    new DataSourceInfo(dataSource, "managers"));

Để biết thêm chi tiết, tùy chọn và ví dụ, hãy truy cập kho lưu trữ tài liệuGitHub. Nếu có thêm thắc mắc, 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

Trong bài viết này, bạn đã học cách chuyển đổi dữ liệu JSON thành báo cáo PDF trong ứng dụng .NET của mình bằng C#. Hơn nữa, bạn có thể tạo báo cáo ở các định dạng khác như DOCX bằng cách sử dụng các nguồn dữ liệu khác như CSV và XML. Tôi hy vọng bạn sẽ cảm thấy thoải mái khi bắt đầu xây dựng ứng dụng .NET trình tạo báo cáo của mình.

Xem thêm