Mail Merge Với Các Khu Vực

Bạn có thể tạo các vùng khác nhau trong mẫu của mình để có các vùng đặc biệt mà bạn có thể chỉ cần điền dữ liệu của mình. Sử dụng mail merge với các vùng nếu bạn muốn chèn bảng, các hàng có dữ liệu lặp lại để làm cho tài liệu của bạn tự động phát triển bằng cách chỉ định các vùng đó trong mẫu của bạn.

Bạn có thể tạo các vùng lồng nhau (con) cũng như hợp nhất các vùng. Ưu điểm chính của việc sử dụng loại này là tự động tăng các bộ phận bên trong tài liệu. Xem thêm chi tiết trong bài viết tiếp theo " Lồng Nhau Mail Merge Với Các Khu vực".

Làm thế nào Để Thực hiện Mail Merge Với Các Khu Vực

A mail merge vùng là một phần cụ thể bên trong một tài liệu có điểm bắt đầu và điểm kết thúc. Cả hai điểm được biểu diễn dưới dạng mail merge các trường có tên cụ thể “TableStart:XXX”“TableEnd:XXX”. Tất cả nội dung được bao gồm trong một mail merge vùng sẽ tự động được lặp lại cho mọi bản ghi trong nguồn dữ liệu.

Aspose.Words cho phép bạn thực hiện mail merge với các khu vực sử dụng một trong các ExecuteWithRegions phương pháp chấp nhận IMailMergeDataSource nguồn dữ liệu tùy chỉnh.

Ví dụ mã sau đây cho thấy cách thực thi mail merge với các khu vực từ cơ sở dữ liệu sqlite với SQLiteCpp:

Bạn có thể nhận thấy sự khác biệt giữa tài liệu trước khi thực hiện mail merge với các khu vực:

mail_merge_with_regions_template

Và sau khi thực hiện mail merge với các khu vực:

mail_merge_with_regions_execute

Hạn chế của Mail Merge Với Các Khu Vực

Có một số điểm quan trọng mà bạn cần xem xét khi thực hiện một mail merge với các khu vực:

  • Điểm bắt đầu TableStart:Orders và điểm kết thúc TableEnd:Orders cả hai cần phải ở trong cùng một hàng hoặc ô. Ví dụ: nếu bạn bắt đầu một vùng hợp nhất trong một ô của bảng, bạn phải kết thúc vùng hợp nhất trong cùng một hàng với ô đầu tiên. Tên trường hợp nhất phải khớp với tên cột trong của bạn DataTable. Trừ khi bạn chỉ định các trường được ánh xạ, mail merge với các vùng sẽ không thành công cho bất kỳ trường hợp nhất nào có tên khác với tên cột.
  • Aspose.Words cho C++ chỉ hỗ trợ IMailMergeDataSourceIMailMergeDataSourceRoot nguồn dữ liệu dựa trên. Không giống như .NET và Java, C++ không có một nền tảng chéo được chấp nhận chung API để làm việc với cơ sở dữ liệu (như ADODB, ODBC, hoặc JDBC). Để làm việc với một nguồn dữ liệu cụ thể, bạn phải thực hiện IMailMergeDataSource hoặc IMailMergeDataSourceRoot giao diện.

Nếu một trong những quy tắc này bị phá vỡ, bạn sẽ nhận được kết quả bất ngờ hoặc một ngoại lệ có thể bị ném.