使用 Python 中的 Excel 進行郵件合併

郵件合併是一種智慧的技術,用於大規模生成個性化文件。無論是發票、報告還是證書,您都可以使用一個模板,並從電子表格中填充數據。您 Excel 文件中的每一行都將成為一個自定義文檔。在這篇文章中,我們將向您展示如何使用 Aspose.Cells 庫從 Excel 執行郵件合併。

本文涵蓋以下主題:

Python Excel Mail Merge Library

我們將使用 Aspose.Cells for Python via .NET 來執行郵件合併。它使您能夠直接從 Python 代碼創建、閱讀和操作 Excel 試算表。該庫支持智能標記,允許無縫數據綁定和 Excel 自動化。

要通過 .NET 安裝 Aspose.Cells for Python:

pip install aspose-cells

使用 Aspose.Cells 進行郵件合併的 Python 代碼

與 Word 不同,Aspose.Cells 使用 Smart Markers 來執行郵件合併。Smart Markers 是 Excel 範本中的特殊標籤,系統在運行時用實際數據替換這些標籤。您可以像這樣定義標記:

&=DataSource.ColumnName

Aspose.Cells 逐行處理這些標記,將它們用來自您的數據源的實際值替換,例如字典列表或類似於 DataTable 的物件。

準備 Excel 範本

創建一個文件(例如,Template.xlsx)並包含智能標記:

姓名郵件金額
&=Data.Name&=Data.Email&=Data.Amount

使用 Python 執行郵件合併的逐步指南

本節說明了如何使用 Excel 模板和 Aspose.Cells for Python via .NET API 執行郵件合併操作的程序。該過程包括加載模板工作簿、將其綁定到數據源、執行 Smart Marker 處理和保存輸出。

步驟 1:加載模板工作簿

首先,通過加載包含預定義智能標記的 Excel 文件來實例化 Workbook 對象。

import aspose.cells as ac

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

注意:模板必須包含格式化為 &=Data.FieldName 的智慧標記。

步驟 2:創建並填充數據源

創建一個 DataTable 作為數據源。定義所需的列並添加對應於模板中的智慧標記的數據行。

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])

每個 DataTable 中的列名稱應與 Excel 模板中使用的標記標識符相匹配。

步驟 3:將數據綁定到工作簿

使用 WorkbookDesigner 類別將工作簿與資料源關聯。這使您能夠在處理過程中自動填充智慧標記。

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

步驟 4:處理智能標記

執行智慧標記替換,通過調用 process() 方法。這將遍歷數據來源並將值插入到工作簿中的相應位置。

designer.process()

步驟 5:保存合併的工作簿

將處理過的工作簿以 Excel 格式保存到磁碟上。

workbook.save("MergedOutput.xlsx")

(Optional) Export the Output as PDF

要生成合併工作簿的 PDF 版本,配置 PDF 儲存選項並在匯出時指定 SaveFormat.PDF

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

完整的 Python 郵件合併程式碼

以下範例演示了使用 Aspose.Cells for Python 從 Excel 創建郵件合併的完整過程。

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)

確保 Excel 範本中的智能標記與 DataTable 中定義的列名稱相符。例如,範本中的 &=Data.Name 對應於資料來源中名為 \"Name\" 的列。

這個實現自動化了文檔生成任務,例如發票、報告或證書,而無需安裝 Microsoft Excel。

Output

資料來源中的每一行都會在放置智慧標記的 Excel 文件中生成一行新的個性化數據。

從 Excel 在 Python 中郵件合併 - 輸出

從 Excel 中的 Python 郵件合併 - 輸出

獲取免費授權

您可以 request a free temporary license 來評估 Aspose.Cells for Python via .NET 的全部功能,無需評估限制。

此許可證使所有 API 功能的無限制測試成為可能,包括郵件合併、PDF 匯出和大型資料集處理。

Excel 郵件合併在 Python 中:免費資源

結論

透過 Python 使用 Excel 進行郵件合併,使得大規模生成文件變得更簡單。使用 Aspose.Cells 智能標記,您可以在只需幾行代碼的情況下快速自動化這個過程。無論是發送發票、建立證書還是生成報告,Python API 提供了完全的控制和靈活性。

需要幫助嗎?加入我們的 免費支持論壇

See Also