
邮件合并是一种智能技术,可以大规模生成个性化文档。无论是发票、报告还是证书,您都可以使用一个模板,并从电子表格中填充数据。 Excel 文件中的每一行都成为一个自定义文档。在本文中,我们将向您展示如何使用 Aspose.Cells 库通过 Python 从 Excel 进行邮件合并。
这篇文章涵盖以下主题:
Python Excel 邮件合并库
我们将使用 Aspose.Cells for Python via .NET 来执行邮件合并。它使您能够直接从 Python 代码创建、读取和操作 Excel 电子表格。该库支持智能标记,允许无缝的数据绑定和 Excel 自动化。
要通过 .NET 安装 Aspose.Cells for Python:
pip install aspose-cells
使用 Aspose.Cells 在 Python 中进行邮件合并
与 Word 不同,Aspose.Cells 使用智能标记来执行邮件合并。智能标记是 Excel 模板中的特殊标签,系统在运行时用实际数据替换这些标签。您可以定义如下标记:
&=DataSource.ColumnName
Aspose.Cells 逐行处理这些标记,用数据源中的真实值替换它们,例如字典列表或类似 DataTable 的对象。
准备Excel模板
创建一个文件(例如,Template.xlsx)并添加智能标记:
| 名称 | 电子邮件 | 金额 |
|---|---|---|
| &=Data.Name | &=Data.Email | &=Data.Amount |
使用 Python 执行邮件合并的逐步指南
本部分概述了使用 Excel 模板和 Aspose.Cells for Python via .NET API 执行邮件合并操作的过程。该过程包括加载模板工作簿、将其绑定到数据源、执行智能标记处理和保存输出。
步骤 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 - 输出
获取免费许可证
您可以 request a free temporary license 以评估 Aspose.Cells for Python via .NET 的全部功能,而无需评估限制。
此许可证使所有 API 功能的无限制测试成为可能,包括邮件合并、PDF 导出和大数据集处理。
Excel 邮件合并在 Python 中:免费资源
结论
使用 Python 从 Excel 进行邮件合并,使得大规模生成文档变得更加容易。通过 Aspose.Cells 智能标记,您可以在短短几行代码中快速自动化此过程。无论是发送发票、制作证书还是生成报告,该 Python API 提供了完全的控制和灵活性。
需要帮助吗?加入我们的 free support forum。