
Mail merge giúp bạn dễ dàng tạo ra các tài liệu cá nhân hóa hàng loạt, chẳng hạn như thư, email, hóa đơn hoặc chứng chỉ. Bạn bắt đầu với một mẫu và điền vào đó bằng dữ liệu từ một bảng tính. Mỗi hàng trong tệp Excel tạo ra một tài liệu mới với các chi tiết chính xác ở đúng vị trí. Đây là một cách thông minh để tự động hóa các nhiệm vụ lặp đi lặp lại như gửi hóa đơn hoặc tạo báo cáo. Trong bài viết này, chúng tôi sẽ hướng dẫn bạn cách thực hiện mail merge từ Excel bằng C#. Hãy bắt đầu.
Bài viết này đề cập đến các chủ đề sau:
- Thư viện Mail Merge Excel C#
- Cách Mail Merge hoạt động với Aspose.Cells là gì?
- Hướng dẫn từng bước để thực hiện Mail Merge từ Excel
- Mã C# hoàn chỉnh để hợp nhất dữ liệu qua email
- Tài nguyên miễn phí
- Câu hỏi thường gặp
Thư viện Trộn Mail Excel C#
Chúng tôi sẽ sử dụng API Aspose.Cells for .NET để thực hiện hợp nhất thư từ Excel trong C#. Nó cung cấp các công cụ mạnh mẽ để làm việc với các tệp Excel ngay trong mã của bạn. Nó cho phép các nhà phát triển tạo, đọc và cập nhật bảng tính một cách dễ dàng. Bạn cũng có thể xử lý các tác vụ nâng cao như hợp nhất thư mà không gặp rắc rối. Thư viện giúp tự động hóa Excel nhanh chóng, linh hoạt và đáng tin cậy.
Để bắt đầu với Aspose.Cells for .NET, hãy làm theo những hướng dẫn cài đặt đơn giản sau:
- Vui lòng tải xuống từ releases.
- Cài đặt thư viện bằng cách sử dụng NuGet Package Manager với lệnh sau:
PM> Install-Package Aspose.Cells
Làm thế nào Mail Merge hoạt động với Aspose.Cells?
Aspose.Cells không hỗ trợ `mail merge” theo cách giống như Word.Nó thêm mail merge vào Excel bằng cách sử dụng Smart Markers.Những marker này hoạt động như các vị trí giữ chỗ trong bảng tính của bạn, và thư viện thay thế chúng bằng dữ liệu thực tại runtime. Khi nó xử lý từng hàng từ nguồn dữ liệu của bạn, nó điền vào mẫu và tự động mở rộng nội dung, cho phép bạn tạo ra các tài liệu cá nhân hóa hoàn toàn chỉ với vài dòng mã C#.
&=DataSource.ColumnName
Trong quá trình xử lý, Aspose.Cells thay thế những điều này bằng dữ liệu thực từ một DataTable
, List<T>
, hoặc bất kỳ IEnumerable
nào. Ví dụ, thư viện thay thế &=Data.Name
bằng giá trị từ cột Name trong bảng Data.
Chuẩn bị mẫu Excel
Tạo một tệp Excel (ví dụ: Template.xlsx) với các đánh dấu thông minh. Dưới đây là mẫu bố cục:
Tên | Số tiền | |
---|---|---|
&=Data.Name | &=Data.Email | &=Data.Amount |
Hướng dẫn từng bước để thực hiện Mail Merge từ Excel trong C#
Để thực hiện một mail merge từ Excel sử dụng Aspose.Cells for .NET, chỉ cần làm theo các bước sau:
Bước 1: Tải Mẫu Excel
Tải tệp mẫu Excel chứa Smart Markers bằng cách sử dụng lớp Workbook
. Lớp Workbook
đại diện cho toàn bộ tệp Excel (sổ làm việc).Tệp mẫu đã tải sẽ đóng vai trò là bố cục cho đầu ra đã hợp nhất của bạn.
Workbook workbook = new Workbook("Template.xlsx");
Bước 2: Tạo một DataTable
Ở đây, chúng tôi tạo một DataTable mô phỏng nguồn dữ liệu Excel của bạn. Mỗi cột tương ứng với một dấu hiệu thông minh, và mỗi hàng đại diện cho một tập hợp giá trị để chèn. Lớp DataTable
từ System.Data
chứa dữ liệu bạn muốn hợp nhất. Mỗi cột tương ứng với một dấu hiệu thông minh, và mỗi hàng cung cấp một tập hợp giá trị độc đáo.
DataTable dt = new DataTable("Data");
dt.Columns.Add("Name");
dt.Columns.Add("Email");
dt.Columns.Add("Amount");
dt.Rows.Add("Alice", "alice@example.com", 1000);
dt.Rows.Add("Bob", "bob@example.com", 1500);
Bước 3: Liên kết Mẫu Excel của bạn với Nguồn Dữ liệu
Chúng tôi sử dụng lớp WorkbookDesigner
để kết nối mẫu với dữ liệu. Lớp WorkbookDesigner
là một lớp đặc biệt trong Aspose.Cells được thiết kế để xử lý các dấu hiệu thông minh và liên kết dữ liệu. Nó liên kết nguồn dữ liệu của bạn (như một DataTable) với mẫu Excel. Phương thức SetDataSource()
liên kết DataTable (Dữ liệu) với các dấu hiệu thông minh trong sổ làm việc.
WorkbookDesigner designer = new WorkbookDesigner(workbook);
designer.SetDataSource(dt);
SetDataSource()
gán DataTable vào các Smart Markers trong workbook."Data"
là tên được sử dụng trong các dấu hiệu như&=Data.Name
.
Bước 4: Thực hiện Mail Merge
Một khi bạn đã thiết lập nguồn dữ liệu, việc gọi Process()
sẽ điền tất cả các Smart Markers bằng các giá trị thực từ DataTable. Lệnh này thực hiện việc hợp nhất thư. Nó đi qua các Smart Markers và thay thế chúng bằng các giá trị thực từ nguồn dữ liệu.
designer.Process();
Bước 5: Lưu tệp tin
Cuối cùng, chúng tôi lưu tệp hoàn tất với tất cả dữ liệu đã được gộp lại.
workbook.Save("MergedOutput.xlsx");
Lưu nội dung hợp nhất dưới dạng PDF
Bạn có thể dễ dàng lưu tài liệu Excel đã gộp dưới dạng PDF chỉ với một dòng mã.
// Set PDF options
PdfSaveOptions options = new PdfSaveOptions();
// Save as PDF
workbook.Save("MergedDocument.pdf", SaveFormat.Pdf);
Complete C# Code to Mail Merge Data
// Tải mẫu Excel lên
Workbook workbook = new Workbook("Template.xlsx");
// Tạo dữ liệu giả
DataTable dt = new DataTable("Data");
dt.Columns.Add("Name");
dt.Columns.Add("Email");
dt.Columns.Add("Amount");
dt.Rows.Add("Alice", "alice@example.com", 1000);
dt.Rows.Add("Bob", "bob@example.com", 1200);
// Đặt nguồn dữ liệu
WorkbookDesigner designer = new WorkbookDesigner(workbook);
designer.SetDataSource(dt);
// Xử lý dấu hiệu thông minh (trộn thư)
designer.Process();
// Save the output
workbook.Save("MergedOutput.xlsx");
Output
Tệp Excel đầu ra chứa một hàng cho mỗi mục với dữ liệu cá nhân hóa được điền thay thế cho các dấu hiệu thông minh.

Mail Merge từ Excel trong C# - Đầu ra
Nhận Giấy phép Miễn phí
Nhận giấy phép tạm thời miễn phí cho phép bạn thử nghiệm các tính năng đầy đủ của Aspose.Cells for .NET mà không bị giới hạn. Nó rất lý tưởng nếu bạn đang đánh giá API cho các tác vụ tự động hóa như hợp nhất email, báo cáo Excel hoặc xuất PDF.
Excel to Excel Mail Merge: Tài nguyên miễn phí
Ngoài việc sử dụng mail merge trong Excel, chúng tôi cung cấp nhiều tài nguyên khác nhau để giúp bạn nâng cao hiểu biết về Aspose.Cells for .NET. Hãy xem tài liệu, hướng dẫn và diễn đàn cộng đồng của chúng tôi để có thêm thông tin.
- Hướng dẫn cho nhà phát triển
- Ứng dụng trực tuyến miễn phí
- Tài liệu tham khảo API
- Hướng dẫn và bài viết cách làm
Câu hỏi thường gặp (FAQs)
Q1: Tôi có thể sử dụng gộp thư Excel mà không cần cài đặt Microsoft Office không?
Có, mail merge không yêu cầu Microsoft Office. Aspose.Cells hoạt động độc lập và xử lý mọi thứ thông qua các API của nó.
Q2: Sự khác biệt giữa Smart Markers và Word Merge Fields là gì?
Smart Markers hoạt động trong Excel và có khả năng tùy chỉnh cao hơn cho việc mở rộng dữ liệu theo hàng. Các trường hợp hợp nhất là đặc trưng cho Word.
Q3: Tôi có thể hợp nhất từ Excel sang Word bằng cách sử dụng Aspose không?
Có, nhưng bạn sẽ cần Aspose.Words cho kịch bản đó.
Q4: Có thể tự động hóa việc tạo PDF từ các hợp nhất Excel không?
Chắc chắn rồi. Chỉ cần lưu bảng tính cuối cùng ở định dạng PDF bằng cách sử dụng Aspose.Cells.
Kết luận
Mail merge from Excel cung cấp một cách mạnh mẽ để tạo ra các tài liệu động, cá nhân hóa bằng cách sử dụng giao diện bảng tính quen thuộc. Trong bài viết trên blog này, chúng tôi đã hướng dẫn cách thực hiện mail merge từ Excel bằng C#. Bằng cách sử dụng Aspose.Cells Smart Markers, bạn có sự linh hoạt để tự động hóa hoàn toàn quy trình này và tạo ra hàng ngàn hóa đơn, chứng chỉ hoặc bất kỳ báo cáo có cấu trúc nào.
Nếu bạn có bất kỳ câu hỏi nào hoặc cần thêm sự trợ giúp, xin vui lòng liên hệ với chúng tôi tại free support forum.