Kết hợp thư sử dụng Excel trong Python

Mail merge là một kỹ thuật thông minh để tạo ra các tài liệu cá nhân hóa quy mô lớn. Dù đó là hóa đơn, báo cáo hay chứng chỉ, bạn có thể sử dụng một mẫu duy nhất và điền dữ liệu từ bảng tính vào đó. Mỗi hàng trong tệp Excel của bạn trở thành một tài liệu tùy chỉnh. 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 Python với thư viện Aspose.Cells.

Bài viết này đề cập đến các chủ đề sau:

Thư viện Mail Merge Excel Python

Chúng tôi sẽ sử dụng Aspose.Cells for Python via .NET để thực hiện việc trộn thư. Nó cho phép bạn tạo, đọc và thao tác với các bảng tính Excel trực tiếp từ mã Python. Với khả năng hỗ trợ Smart Markers, thư viện cho phép liên kết dữ liệu mượt mà và tự động hóa Excel.

Để cài đặt Aspose.Cells for Python qua .NET:

pip install aspose-cells

Sáp nhập thư bằng Aspose.Cells for Python

Không giống như Word, Aspose.Cells sử dụng Smart Markers để thực hiện gộp thư. Smart Markers là các thẻ đặc biệt trong các mẫu Excel mà hệ thống thay thế bằng dữ liệu thực tế tại thời điểm chạy. Bạn định nghĩa các thẻ như sau:

&=DataSource.ColumnName

Aspose.Cells xử lý những dấu hiệu này theo từng hàng, thay thế chúng bằng các giá trị thực từ nguồn dữ liệu của bạn, chẳng hạn như danh sách các từ điển hoặc một đối tượng giống như DataTable.

Chuẩn bị Mẫu Excel

Tạo một tệp (ví dụ: Template.xlsx) với Smart Markers:

TênEmailSố tiền
&=Data.Name&=Data.Email&=Data.Amount

Hướng Dẫn Từng Bước Để Thực Hiện Mail Merge Sử Dụng Python

Phần này phác thảo quy trình thực hiện một thao tác gộp thư sử dụng mẫu Excel và Aspose.Cells for Python thông qua API .NET. Quá trình bao gồm việc tải một workbook mẫu, liên kết nó với một nguồn dữ liệu, thực hiện xử lý Smart Marker và lưu đầu ra.

Bước 1: Tải Workbook Mẫu

Để bắt đầu, hãy khởi tạo một đối tượng Workbook bằng cách tải tệp Excel chứa các Smart Markers được định nghĩa trước.

import aspose.cells as ac

workbook = ac.Workbook("Template.xlsx")

Lưu ý: Mẫu phải chứa các Thẻ Thông Minh được định dạng như &=Data.FieldName.

Bước 2: Tạo và Điền Dữ liệu Nguồn

Tạo một DataTable để làm nguồn dữ liệu. Xác định các cột cần thiết và thêm các hàng dữ liệu tương ứng với các Smart Markers trong mẫu.

table = ac.DataTable("Data")
table.columns.add("Name")
table.columns.add("Email")
table.columns.add("Amount")

table.rows.add(["Alice", "alice@example.com", 1000])
table.rows.add(["Bob", "bob@example.com", 1500])

Tên mỗi cột trong DataTable nên khớp với các định danh đánh dấu được sử dụng trong mẫu Excel.

Bước 3: Liên kết dữ liệu với Workbook

Sử dụng lớp WorkbookDesigner để liên kết workbook với nguồn dữ liệu. Điều này cho phép bạn tự động điền các Smart Markers trong quá trình xử lý.

designer = ac.WorkbookDesigner()
designer.workbook = workbook
designer.set_data_source(table)

Bước 4: Xử lý Đánh dấu Thông minh

Thực hiện thay thế Smart Marker bằng cách gọi phương thức process(). Điều này sẽ lặp qua nguồn dữ liệu và chèn giá trị vào các vị trí tương ứng trong sổ làm việc.

designer.process()

Bước 5: Lưu Sổ Tay Hợp Nhất

Lưu sổ làm việc đã xử lý vào đĩa dưới định dạng Excel.

workbook.save("MergedOutput.xlsx")

(Optional) Export the Output as PDF

Để tạo phiên bản PDF của bảng tính đã hợp nhất, hãy cấu hình tùy chọn lưu PDF và chỉ định SaveFormat.PDF trong quá trình xuất.

pdf_options = ac.PdfSaveOptions()
workbook.save("MergedOutput.pdf", ac.SaveFormat.PDF)

Mã Python đầy đủ cho Mail Merge

Ví dụ dưới đây minh họa quy trình hoàn chỉnh để tạo một mail merge từ Excel sử dụng Aspose.Cells for Python.

import aspose.cells as ac

# Load template
workbook = ac.Workbook("Template.xlsx")

# Create data source
table = ac.DataTable("Data")
table.columns.add("Name")
table.columns.add("Email")
table.columns.add("Amount")
table.rows.add(["Alice", "alice@example.com", 1000])
table.rows.add(["Bob", "bob@example.com", 1500])

# Connect data source
designer = ac.WorkbookDesigner()
designer.workbook = workbook
designer.set_data_source(table)
designer.process()

# Save output
workbook.save("MergedOutput.xlsx")

# Export to PDF
pdf_options = ac.PdfSaveOptions()
workbook.save("MergedOutput.pdf", ac.SaveFormat.PDF)

Đảm bảo rằng các Smart Markers trong mẫu Excel khớp với các tên cột được định nghĩa trong DataTable. Ví dụ, &=Data.Name trong mẫu tương ứng với một cột có tên \"Name\" trong nguồn dữ liệu.

Việc triển khai này tự động hóa các tác vụ tạo tài liệu, chẳng hạn như hóa đơn, báo cáo hoặc chứng chỉ mà không yêu cầu Microsoft Excel được cài đặt.

Output

Mỗi hàng trong nguồn dữ liệu tạo ra một hàng cá nhân hóa mới trong tệp Excel nơi các Smart Markers được đặt.

Trai Hợp Thư từ Excel trong Python - Đầu Ra

Mail Merge từ Excel trong Python - Đầu ra

Nhận Giấy phép Miễn Phí

Bạn có thể request a free temporary license để đánh giá đầy đủ khả năng của Aspose.Cells for Python qua .NET mà không bị giới hạn trong việc đánh giá.

Giấy phép này cho phép kiểm tra không giới hạn tất cả các tính năng API, bao gồm hợp nhất email, xuất PDF và xử lý tập dữ liệu lớn.

Excel Mail Merge in Python: Tài nguyên miễn phí

Kết luận

Gộp thư từ Excel sử dụng Python giúp dễ dàng tạo tài liệu quy mô lớn. Với Smart Markers của Aspose.Cells, bạn có thể tự động hóa quá trình này chỉ với một vài dòng mã. Dù là gửi hóa đơn, xây dựng chứng chỉ, hay tạo báo cáo, API Python cung cấp quyền kiểm soát và linh hoạt đầy đủ.

Cần giúp đỡ? Tham gia diễn đàn hỗ trợ miễn phí.

Xem thêm