Tự động hóa việc tạo tài liệu cá nhân – chẳng hạn như báo cáo, lá thư và hóa đơn – có thể cải thiện đáng kể hiệu quả trong dòng công việc của bạn. Với C# Mail Merge được kích hoạt bởi Aspose.Words cho .NET, bạn sẽ đạt được điều này một cách dễ dàng. Hướng dẫn này sẽ hướng dẫn bạn thông qua việc sử dụng Speed.Message Mail Plugin để thực hiện năng suất tốt và quy mô trong các ứng dụng của mình – mà không cần MS Word hoặc Office Interop.
Nội dung
- Mail Merge là gì?
- Nguồn dữ liệu cho Mail Merge
- Hướng dẫn cài đặt Mail Merge Templates
- Bắt đầu với Aspose.Words cho .NET
- Thực hiện Mail kết hợp với dữ liệu mẫu
- Mail kết hợp với dữ liệu XML
- Tùy chỉnh Merge Field Formatting
- Mail kết hợp với các khu vực
- Nested Mail kết hợp
- Kết luận
Mail Merge là gì?
Mail Merge là một phương pháp mạnh mẽ để tạo tài liệu năng động bằng cách thu thập các mẫu với dữ liệu từ nhiều nguồn khác nhau. Aspose.Words, bạn có thể tự động hóa các nhiệm vụ như:
- Tạo thư và hóa đơn cá nhân.
- Tạo báo cáo khối bằng các định dạng có cấu trúc như XML, JSON, hoặc cơ sở dữ liệu, cho phép tạo ra báo cáo năng động với C# và Aspose.Words.
Nguồn dữ liệu cho Mail Merge
Aspose.Words hỗ trợ một loạt các nguồn dữ liệu, bao gồm:
- Objects: Các mẫu phổ biến sử dụng các trường hợp lớp học.
- XML: tải dữ liệu có cấu trúc cho các trường năng động.
- JSON: dễ dàng tích hợp với APIs hiện đại.
- CSV: Tải dữ liệu bảng cho sản xuất tài liệu khối.
- DataTable/DataSet: Sử dụng ADO.NET để tích hợp cơ sở dữ liệu.
Chuẩn bị mẫu cho Mail Merge {# chuẩn bị-mail-merge-templates}
Mô hình kết hợp thư là tài liệu chứa các trường kết hợp sẽ được lưu trữ với dữ liệu từ nguồn dữ liệu cụ thể của bạn trong quá trình thực hiện. Mô hình có thể trong định dạng DOC hoặc DOCX và không yêu cầu một phong cách cụ thể. Thực hiện các bước này để tạo một mô hình kết hợp thư:
- Mở tài liệu của bạn hoặc tạo một tài liệu mới trong MS Word.
- Đặt cursor nơi bạn muốn nhập một trường kết hợp.
- Từ menu Nhập , hãy chọn Field .
- Từ danh sách Những tên miền, chọn MergeField.
- Nhập tên cho trường kết hợp trong hộp tên trường và nhấp vào OK.
- Tiết kiệm tài liệu
Ảnh chụp màn hình sau đây cho thấy một mẫu template Tài liệu

.NET Mail Merge API - Cài đặt
Bạn có thể cài đặt Aspose.Words cho .NET thông qua các phương pháp khác nhau:
Thực hiện Mail Merge trong Word Document bằng cách sử dụng C#
Một khi mẫu của bạn đã sẵn sàng, bạn có thể thực hiện thư kết hợp để tạo tài liệu. đây là các bước để thực hiện thư kết hợp trên mẫu đã chuẩn bị của bạn:
- Tải tài liệu mẫu bằng cách sử dụng Tài liệu lớp .
- Thiết lập các tùy chọn liên kết email cần thiết, chẳng hạn như Tài liệu.MailMerge.TrimWhitespaces.
- Thực hiện email kết hợp bằng cách sử dụng Tài liệu.MailMerge.Execute() phương pháp, thông qua nguồn dữ liệu như một thông số.
- Lưu tài liệu được tạo bằng cách sử dụng Tài liệu.Save(String) Phương pháp
Dưới đây là một mẫu mã cho thấy cách tạo ra báo cáo tự động trong C# bằng cách sử dụng một loạt các giá trị:
Word Document sau khi Mail Merge

Thực hiện Mail Merge sử dụng XML Data Source trong C#
Các tệp XML thường được sử dụng để lưu trữ và chuyển dữ liệu. Aspose.Words cho .NET hỗ trợ XML như một nguồn thông tin cho các hoạt động kết hợp thư. DataSet object and execute the mail merge. dưới đây là một mẫu file XML cho trường hợp sử dụng của chúng tôi.
<customers>
<customer Name="John Ben Jan" ID="1" Domain="History" City="Boston"/>
<customer Name="Lisa Lane" ID="2" Domain="Chemistry" City="LA"/>
<customer Name="Dagomir Zits" ID="3" Domain="Heraldry" City="Milwaukee"/>
<customer Name="Sara Careira Santy" ID="4" Domain="IT" City="Miami"/>
</customers>
Mẫu mã sau đây thu thập dữ liệu từ một nguồn dữ liệu XML và thực hiện kết hợp thư bằng cách sử dụng C#.
Dưới đây là mail merge Đền thờ Nó sẽ được thu thập với dữ liệu từ tệp XML.

Hình ảnh này đại diện cho trang đầu tiên của tài liệu Word kết quả được thu thập sau khi thực hiện thư kết hợp.

Định dạng tùy chỉnh của các trường hợp
Aspose.Words cho .NET cung cấp kiểm soát nâng cao về quá trình kết hợp thư. Tải về MailMergingCallback tài sản cho phép bạn thiết lập hành vi kết hợp thư khi mỗi trường kết nối được đáp ứng. Tải về iFieldCallback.FieldMerging và Tải về iFieldMergingCallback.ImageFieldMerging Các phương pháp cho phép tùy chỉnh hoạt động kết hợp thư.
Dưới đây là một mẫu mã cho thấy làm thế nào để áp dụng định dạng tùy chỉnh trong khi email kết hợp thông qua mẫu ví dụ được cung cấp:
Điều sau đây thực hiện lớp HandleMergeFieldAlternatingRows.
Mail Merge with Regions sử dụng C#
Trong một số trường hợp, bạn có thể cần lưu trữ và lặp lại một khu vực cụ thể trong tài liệu Word. Đối với các kịch bản như vậy, hãy sử dụng thư kết hợp với vùng. Để tạo một vùng, chỉ định cả sự khởi đầu và kết thúc của vùng; sau đó, thư Kết hợp sẽ lây trở lại Khu vực này cho mỗi bản ghi trong nguồn dữ liệu. ví dụ mẫu bên dưới chứa hai vùng — Order và OrderDetails — bằng cách dùng các trường kết nối «TableStart:Orders», «Таблица:OrderDatails», và «ТableEnd: OrderDetals».

Dưới đây là một mẫu mã thực hiện mail merge dựa trên các khu vực cho các đề cập trước đây Đền thờ.
Các phương pháp sau đây mô tả cách đọc dữ liệu từ một cơ sở dữ liệu.
Nested Mail Merge (liên kết sửa đổi)
Thông thường, dữ liệu từ nguồn được cấu trúc trong các định dạng tương đối. Ví dụ, “Lệnh” có thể có một mối quan hệ từ một đến nhiều với “Thông tin đặt hàng”, mà giữ hồ sơ của các mục trong một lệnh. mẫu hóa đơn Điều này phù hợp với kịch bản này.

Dưới đây là một nguồn dữ liệu XML cho ví dụ kết hợp thư của chúng tôi.
<?xml version="1.0" encoding ="utf-8"?>
<Orders xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="OrdersSchema.xsd">
<Order>
<Number>23</Number>
<Address>Nelson Street</Address>
<Suburb>Howick</Suburb>
<City>Auckland</City>
<Phonenumber>543 1234</Phonenumber>
<Date>03/01/2010</Date>
<Total>14.00</Total>
<Item>
<Name>BBQ Chicken Pizza</Name>
<Price>6.00</Price>
<Quantity>1</Quantity>
<ItemTotal>6.00</ItemTotal>
</Item>
<Item>
<Name>1.5 Litre Coke</Name>
<Price>4.00</Price>
<Quantity>2</Quantity>
<ItemTotal>8.00</ItemTotal>
</Item>
</Order>
<Order>
<Number>10</Number>
<Address>Parkville Avenue</Address>
<Suburb>Pakuranga</Suburb>
<City>Auckland</City>
<Phonenumber>548 7342</Phonenumber>
<Date>05/03/2010</Date>
<Total>6.00</Total>
<Item>
<Name>Hawaiian Pizza</Name>
<Price>4.00</Price>
<Quantity>1</Quantity>
<ItemTotal>4.00</ItemTotal>
</Item>
<Item>
<Name>Fries</Name>
<Price>1.00</Price>
<Quantity>2</Quantity>
<ItemTotal>2.00</ItemTotal>
</Item>
</Order>
</Orders>
Tệp tương ứng OrderSchema.xsd cho XML này là:
<?xml version="1.0" encoding ="utf-8"?>
<xs:schema id="OrdersSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Orders">
<xs:complexType>
<xs:sequence>
<xs:element name="Order">
<xs:complexType>
<xs:sequence>
<xs:element name="Number"/>
<xs:element name="Address"/>
<xs:element name="Suburb"/>
<xs:element name="City"/>
<xs:element name="Phonenumber"/>
<xs:element name="Date"/>
<xs:element name="Total"/>
<xs:element name="Item">
<xs:complexType>
<xs:sequence>
<xs:element name="Name"/>
<xs:element name="Price"/>
<xs:element name="Quantity"/>
<xs:element name="ItemTotal"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Mẫu mã sau đây sẽ thực hiện kết hợp thư bằng cách sử dụng C#.
Word Document sau khi Mail Merge
Dưới đây là trang đầu tiên của tài liệu Word kết quả được thu được sau khi thực hiện kết hợp thư.

Kết luận
Aspose.Words cho .NET là một API kết hợp thư toàn diện cung cấp cả các tính năng tiêu chuẩn và mở rộng phù hợp cho các ứng dụng .NET. Với chỉ một vài dòng mã, bạn có thể phát triển các báo cáo đơn giản hoặc phức tạp từ các nguồn dữ liệu khác nhau một cách không cần thiết. Tài liệuĐể bắt đầu với Aspose.Words cho .NET, hãy khám phá Hướng dẫn của Developer và mẫu mã trên GitHub. Plugin Aspose cũng cung cấp các chức năng tiên tiến cho việc tạo ra báo cáo.
Cố gắng Aspose.Words cho .NET miễn phí
Bạn có thể có được một giấy phép tạm thời miễn phí để thử Aspose.Words cho .NET mà không có giới hạn. Nhận giấy phép tạm thời của bạn ngay bây giờ.
More in this category
- Chuyển đổi Word DOC/DOCX sang PDF trong C# .NET và Aspose.Words' Document Converter Plugin
- Tạo mã vạch trong tài liệu Word (.NET, C#) | Đọc mã vạch từ Word (.NET)
- Thu thập hình ảnh từ các tài liệu từ Word trong C# Hệ thống xử lý hình ảnh tự động
- Tìm và Thay thế văn bản trong Tài liệu Word bằng cách sử dụng C# ẩn tự động Word Editing
- Tạo tài liệu Word tùy chỉnh bằng cách sử dụng C# .NET Aspose.Words Mail Merge Plugin