Các tệp CSV ([Giá trị được phân tách bằng dấu phẩy][3] được sử dụng rộng rãi để trao đổi dữ liệu giữa các ứng dụng. Khi bạn muốn dịch dữ liệu này thành thông tin có thể trình bày và có ý nghĩa, bạn cần chuyển đổi nó sang một số định dạng khác. Trong một trong các bài đăng của chúng tôi, chúng tôi đã xem [cách chuyển đổi dữ liệu CSV trong Báo cáo bằng Java][4]. 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 DOC/DOCX bằng C# bằng một mẫu đơn giản.

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

  • [Tạo báo cáo .NET API][5]
  • [Tạo báo cáo PDF từ dữ liệu CSV][6]
  • [Tạo Báo cáo MS Word từ dữ liệu CSV][7]

Tạo báo cáo .NET API

[GroupDocs.Assembly][8] cung cấp API báo cáo .NET để tự động tạo báo cáo. Trong bài viết này, tôi đã sử dụng [GroupDocs.Assembly for .NET][9] 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ợ 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.

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

PM> Install-Package GroupDocs.Assembly

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

Hãy bắt đầu bằng cách chuyển đổi dữ liệu được phân tách bằng dấu phẩy thành PDF có thể trình bày được. Các bước sau đây sẽ hướng dẫn 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 C#

Dữ liệu CSV

Để nhận báo cáo PDF, tôi sẽ sử dụng dữ liệu CSV mẫu sau đây của các cá nhân khác nhau cùng với dữ liệu về độ 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

Bước tiếp theo sẽ là xác định mẫu ở định dạng TXT hoặc DOCX. Sau đây là mẫu được sử dụng trong ví dụ này và cho phép lặp lại danh sách những người có thông tin chi tiết của họ.

<<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 để tạo Báo cáo PDF từ CSV trong C#

Các bước sau đây hướng dẫn về cách chuyển đổi dữ liệu CSV thành báo cáo PDF theo mẫu đã xác định bằng C# với .NET Reporting API.

  • Xác định tệp dữ liệu CSV, tệp mẫu và đường dẫn tệp đầu ra PDF.
  • Khởi tạo [CsvDataSoure][12] bằng tệp dữ liệu CSV và các tùy chọn tải.
  • Tạo [DataSourceInfo][13] với nguồn dữ liệu đã xác định.
  • Sử dụng [DocumentAssembler][14], gọi phương thức [AssembleDocument][15] với tệp mẫu, tệp đầu ra và DataSourceInfo đã xác định để lấy báo cáo PDF làm đầu ra.

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

// Tạo Báo cáo PDF từ dữ liệu CSV 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.
string csvDataSource = @"path/person.csv";
string templateFilePath = @"path/csv-template.txt";
string reportFilePath = @"path/csv-to-pdf-report.pdf";

// Tải nguồn dữ liệu CSV
CsvDataSource dataSource = new CsvDataSource(csvDataSource, new CsvDataLoadOptions(true));

// Tạo báo cáo ở định dạng PDF
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(templateFilePath, reportFilePath, new DataSourceInfo(dataSource, "persons"));

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

Nếu bạn muốn chỉnh sửa thủ công trong báo cáo được tạo tự động, bạn cũng có thể lấy đầu ra dưới dạng tài liệu MS Word. Quá trình này sẽ rất giống với quá trình tạo báo cáo PDF ở trên. Các bước sau đây sẽ hướng dẫn tạo báo cáo 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.
  • Gọi phương thức [AssembleDocument][16] để 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 thành báo cáo DOCX bằng C#.

// Tạo Báo cáo Word DOCX từ dữ liệu CSV 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.
string csvDataSource = @"path/person.csv";
string templateFilePath = @"path/csv-template.txt";
string reportFilePath = @"path/csv-to-pdf-report.docx";

// Tải nguồn dữ liệu CSV
CsvDataSource dataSource = new CsvDataSource(csvDataSource, new CsvDataLoadOptions(true));

// Tạo Báo cáo ở định dạng DOCX
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(templateFilePath, reportFilePath, new DataSourceInfo(dataSource, "persons"));

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í][17] để sử dụng API mà không bị giới hạn đánh giá.

Sự kết luận

Để kết luận, bạn đã học cách chuyển đổi dữ liệu CSV thành báo cáo PDF và MS Word bằng C#. Giờ đây, bạn phải tự tin xây dựng ứng dụng trình tạo báo cáo .NET của riêng mình bằng cách chuyển đổi dữ liệu CSV sang định dạng PDF. Tương tự, bạn cũng có thể tạo báo cáo bằng các nguồn dữ liệu khác như JSON và XML.

Để biết thêm về API, bạn có thể truy cập [tài liệu][18] và kho lưu trữ [GitHub][19]. 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][20].

Xem thêm

  • [Tạo báo cáo từ dữ liệu JSON bằng C#][21]
  • [Tạo Báo cáo từ Dữ liệu CSV bằng Java][22]

[1]: https://docs.fileformat.com/spreadsheet/csv/) [2]: https://blog.groupdocs.com/vi/assembly/generate-reports-from-csv-data-in-java/ [3]: https://docs.fileformat.com/spreadsheet/csv/) [4]: https://blog.groupdocs.com/vi/assembly/generate-reports-from-csv-data-in-java/ [5]: #report-generator-dotnet-api [6]: #csv-to-pdf-report-csharp [7]: #csv-to-docx-report-java [8]: https://products.groupdocs.com/assembly/java [9]: https://products.groupdocs.com/assembly/net/ [10]: https://downloads.groupdocs.com/assembly/net [11]: https://www.nuget.org/packages/groupdocs.assembly [12]: https://apireference.groupdocs.com/net/assembly/groupdocs.assembly.data/csvdatasource [13]: https://apireference.groupdocs.com/assembly/net/groupdocs.assembly/datasourceinfo [14]: https://apireference.groupdocs.com/assembly/net/groupdocs.assembly/documentassembler [15]: https://apireference.groupdocs.com/assembly/net/groupdocs.assembly/documentassembler/methods/assembledocument/index [16]: https://apireference.groupdocs.com/assembly/net/groupdocs.assembly/documentassembler/methods/assembledocument/index [17]: https://purchase.groupdocs.com/temporary-license [18]: https://docs.groupdocs.com/assembly/net/ [19]: https://github.com/groupdocs-assembly [20]: https://forum.groupdocs.com/c/assembly [21]: https://blog.groupdocs.com/vi/assembly/generate-reports-from-json-data-in-csharp/ [22]: https://blog.groupdocs.com/vi/assembly/generate-reports-from-csv-data-in-java/