Generate Word from template in C#

Tự động hóa việc tạo tài liệu là rất quan trọng đối với các doanh nghiệp muốn tạo ra các báo cáo, hóa đơn và thư từ động. Với Aspose.Words Mail Merge for .NET, bạn có thể hiệu quả điền dữ liệu vào các mẫu Word từ nhiều nguồn khác nhau, bao gồm đối tượng, CSV, JSON và XML. Hướng dẫn này sẽ hướng dẫn bạn sử dụng Mail Merge trong C# để tối ưu hóa và tự động hóa quy trình tài liệu, tập trung vào việc tạo tài liệu Word động với C# .NET.


Mục lục


Tổng quan về Mail Merge for .NET

Plugin Aspose.Words Mail Merge for .NET cho phép các nhà phát triển tạo ra các tài liệu cá nhân hóa từ các mẫu đã được định nghĩa trước chứa các trường hợp nhập. Sự tích hợp này được thiết kế để sử dụng liền mạch trong các môi trường .NET, cung cấp khả năng:

  • Điền động các mẫu bằng dữ liệu, hỗ trợ tạo tài liệu Word trong .NET framework.
  • Thực hiện hiệu quả việc tạo tài liệu hàng loạt, tận dụng giải pháp mail merge .NET cho tài liệu Word.
  • Đảm bảo định dạng nhất quán trên các đầu ra, nâng cao các thực tiễn tốt nhất cho mẫu tài liệu Word C#.

Tính năng chính:

  1. Hỗ trợ nhiều nguồn: Sử dụng dữ liệu từ các đối tượng, cơ sở dữ liệu, XML, JSON và CSV để tạo ra các tài liệu Word tùy chỉnh với C#.
  2. Hiệu suất cao: Xử lý hiệu quả các tập dữ liệu lớn và các hoạt động hàng loạt cho việc tạo tài liệu Word động với .NET Core.
  3. Mẫu tùy chỉnh: Tạo các mẫu với các vị trí dành cho việc chèn dữ liệu, sử dụng khả năng tự động hóa mail merge Word .NET.

Cài đặt

Để bắt đầu, hãy cài đặt Aspose.Words bằng cách sử dụng NuGet:

PM> Install-Package Aspose.Words

Tạo tài liệu Word từ mẫu sử dụng đối tượng C#

Hãy bắt đầu bằng cách điền một mẫu Word bằng cách sử dụng các đối tượng C#. Chúng tôi sẽ tạo một tài liệu Word (DOC/DOCX) với các vị trí sau:

<<[sender.Name]>> nói: "<<[sender.Message]>>."

Trong ví dụ này, sender là một thể hiện của một lớp mà chúng tôi sẽ sử dụng để điền mẫu bằng cách sử dụng phương pháp C# tạo tài liệu Word từ cơ sở dữ liệu.

Tiếp theo, chúng tôi sẽ sử dụng engine báo cáo của Aspose.Words để tạo tài liệu Word từ mẫu và thể hiện của lớp Sender bằng cách làm theo các bước sau:

  1. Tạo một thể hiện của lớp Document và khởi tạo nó với đường dẫn của mẫu Word.
  2. Tạo và khởi tạo một đối tượng của lớp Sender.
  3. Khởi tạo lớp ReportingEngine.
  4. Điền mẫu bằng cách sử dụng ReportingEngine.BuildReport(), nhận thể hiện của Document, nguồn dữ liệu và tên nguồn dữ liệu làm tham số.
  5. Lưu tài liệu Word đã tạo bằng cách sử dụng Document.Save().

Dưới đây là mẫu mã minh họa cách tạo một tài liệu Word từ một mẫu trong C#.

Đầu ra

Tạo tài liệu Word từ nguồn dữ liệu XML trong C#

Để tạo một tài liệu Word từ một nguồn dữ liệu XML, chúng tôi sẽ sử dụng một mẫu Word phức tạp hơn với các vị trí sau:

<<foreach [in persons]>>Tên: <<[Name]>>, Tuổi: <<[Age]>>, Ngày sinh: <<[Birth]:"dd.MM.yyyy">>
<</foreach>>
Tuổi trung bình: <<[persons.Average(p => p.Age)]>>

Nguồn dữ liệu XML được sử dụng trong ví dụ này được hiển thị dưới đây.

Để tạo tài liệu Word từ nguồn dữ liệu XML, hãy làm theo các bước sau:

  1. Tạo một thể hiện của lớp Document và khởi tạo nó với đường dẫn của mẫu Word.
  2. Tạo một thể hiện của lớp XmlDataSource và khởi tạo nó với đường dẫn của tệp XML.
  3. Khởi tạo lớp ReportingEngine.
  4. Sử dụng phương thức ReportingEngine.BuildReport() để điền mẫu Word.
  5. Lưu tài liệu Word đã tạo bằng phương thức Document.Save().

Dưới đây là mẫu mã minh họa cách tạo một tài liệu Word từ một nguồn dữ liệu XML trong C#.

Đầu ra

Tạo tài liệu Word từ nguồn dữ liệu JSON trong C#

Tiếp theo, hãy khám phá cách tạo một tài liệu Word bằng cách sử dụng nguồn dữ liệu JSON. Trong ví dụ này, chúng tôi sẽ tạo một danh sách khách hàng được phân đoạn theo các quản lý của họ. Mẫu Word sẽ trông như thế này:

<<foreach [in managers]>>Quản lý: <<[Name]>>
Hợp đồng:
<<foreach [in Contract]>>- <<[Client.Name]>> ($<<[Price]>>)
<</foreach>>
<</foreach>>

Nguồn dữ liệu JSON tương ứng mà chúng tôi sẽ sử dụng để điền mẫu dưới đây:

Để tạo tài liệu Word từ JSON, chúng tôi sẽ sử dụng lớp JsonDataSource để tải nguồn dữ liệu, và các bước còn lại sẽ theo cấu trúc trước đó. Dưới đây là mẫu mã minh họa cách tạo một tài liệu Word từ mẫu JSON trong C#.

Đầu ra

Tạo tài liệu Word từ nguồn dữ liệu CSV trong C#

Để tạo tài liệu Word từ nguồn dữ liệu CSV, chúng tôi sẽ sử dụng mẫu Word sau:

<<foreach [in persons]>>Tên: <<[Column1]>>, Tuổi: <<[Column2]>>, Ngày sinh: <<[Column3]:"dd.MM.yyyy">>
<</foreach>>
Tuổi trung bình: <<[persons.Average(p => p.Column2)]>>

Mẫu sẽ được điền bằng dữ liệu CSV sau:

Bây giờ, hãy xem xét mã C#. Các bước vẫn giữ nguyên ngoại trừ một điểm khác biệt chính: chúng tôi sẽ sử dụng lớp CsvDataSource để tải dữ liệu CSV. Mẫu mã dưới đây minh họa cách tạo tài liệu Word từ nguồn dữ liệu CSV.

Đầu ra

Thử Aspose.Words for .NET miễn phí

Bạn có thể thử Aspose.Words for .NET bằng cách sử dụng một giấy phép tạm thời miễn phí.

Kết luận

Trong bài viết này, bạn đã học cách tạo tài liệu Word từ các mẫu bằng cách sử dụng C#. Bạn đã khám phá cách tận dụng các nguồn dữ liệu khác nhau như đối tượng, XML, JSON và CSV cho việc tạo tài liệu động trong .NET. Để tìm hiểu thêm về khả năng của xử lý mẫu Word .NET, hãy tìm hiểu trong tài liệu, và đừng ngần ngại liên hệ qua diễn đàn.