当前位置: 首页 > news >正文

Excel处理控件Aspose.Cells教程:使用 C# 从 Excel 进行邮件合并

邮件合并功能让您能够轻松批量创建个性化文档,例如信函、电子邮件、发票或证书。您可以从模板入手,并使用电子表格中的数据进行填充。Excel 文件中的每一行都会生成一个新文档,并在正确的位置包含正确的详细信息。这是一种自动化重复性任务(例如发送发票或生成报告)的智能方法。在本文中,我们将向您展示如何使用 C# 从 Excel 执行邮件合并。

Aspose.Cells 最新版下载

C# 邮件合并 Excel 库

我们将使用Aspose.Cells for .NET API 在 C# 中从 Excel 执行邮件合并。它提供了强大的工具,可直接在代码中处理 Excel 文件。它使开发人员能够轻松创建、读取和更新电子表格。您还可以轻松处理邮件合并等高级任务。该库使 Excel 自动化快速、灵活且可靠。

要开始使用 Aspose.Cells for .NET,请遵循以下简单的安装说明:

  1. 请从发布版本中下载。
  2. 使用NuGet 包管理器通过以下命令安装库:
PM> Install-Package Aspose.Cells

邮件合并如何与 Aspose.Cells 配合使用?

Aspose.Cells 不支持与 Word 相同的“邮件合并”功能。它使用智能标记将邮件合并添加到 Excel 。这些标记在电子表格中充当占位符,该库会在运行时将其替换为真实数据。在处理数据源中的每一行时,它会自动填充模板并扩展内容,让您只需几行 C# 代码即可生成完全个性化的文档。

&=DataSource.ColumnName

在处理过程中,Aspose.Cells 会用来自 、 或任何 的实际数据替换这些数据DataTable。List<T>例如IEnumerable,库会&=Data.Name用数据表中“名称”列的值替换这些数据。

准备 Excel 模板

创建一个包含智能标记的 Excel 文件(例如 Template.xlsx)。以下是示例布局:

姓名电子邮件数量
&=数据.名称&=数据.电子邮件&=数据.金额

使用 C# 从 Excel 执行邮件合并的分步指南

要使用 Aspose.Cells for .NET 从 Excel 执行邮件合并,只需按照以下步骤操作:

步骤 1:加载 Excel 模板

使用该类加载包含智能标记的 Excel 模板文件Workbook。该类Workbook代表整个 Excel 文件(工作簿)。加载的模板文件将用作合并输出的布局。

Workbook workbook = new Workbook("Template.xlsx");

步骤 2:创建数据表

这里,我们创建一个 DataTable 来模拟您的 Excel 数据源。每一列对应一个智能标记,每一行代表一组要插入的值。DataTable类名System.Data包含您要合并的数据。每一列对应一个智能标记,每一行提供一组唯一的值。

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

我们使用该类WorkbookDesigner将模板与数据连接起来。这WorkbookDesigner是 Aspose.Cells 中一个特殊的类,用于处理智能标记和数据绑定。它将数据源(例如 DataTable)与 Excel 模板链接起来。该SetDataSource()方法将 DataTable(数据)绑定到工作簿中的智能标记。

 
WorkbookDesigner designer = new WorkbookDesigner(workbook); designer.SetDataSource(dt); 
  • SetDataSource()将数据表附加到工作簿中的智能标记。
  • "Data"是标记中使用的名称,例如&=Data.Name。

步骤 4:执行邮件合并

设置数据源后,调用Process()会用 DataTable 中的实际值填充所有智能标记。此命令执行邮件合并。它会遍历智能标记,并将其替换为数据源中的实际值。

 
designer.Process(); 

步骤5:保存文件

最后,我们保存合并了所有数据的完整文件。

 
workbook.Save("MergedOutput.xlsx"); 

将合并的输出保存为 PDF

您可以使用一行代码轻松地将合并的 Excel 文档保存为 PDF。

 
// Set PDF options PdfSaveOptions options = new PdfSaveOptions(); // Save as PDF workbook.Save("MergedDocument.pdf", SaveFormat.Pdf);

完成 C# 代码以邮件合并数据

// Load the Excel template
Workbook workbook = new Workbook("Template.xlsx");
// Create dummy data
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);
// Set the data source
WorkbookDesigner designer = new WorkbookDesigner(workbook);
designer.SetDataSource(dt);
// Process smart markers (mail merge)
designer.Process();
// Save the output
workbook.Save("MergedOutput.xlsx");

输出

输出 Excel 文件包含每个条目的一行,其中填充了个性化数据来代替智能标记。

使用 C# 从 Excel 进行邮件合并 - 输出

使用 C# 从 Excel 进行邮件合并 - 输出

常见问题 (FAQ)

问题 1:没有安装 Microsoft Office 可以使用 Excel 邮件合并吗?

是的,邮件合并不需要Microsoft Office。Aspose.Cells独立运行,并通过其自带的API处理所有事务。

Q2:智能标记和 Word 合并字段有什么区别?

智能标记可在 Excel 中使用,并且更易于自定义,可按行扩展数据。合并字段功能则特定于 Word。

问题 3:我可以使用 Aspose 将 Excel 合并到 Word 吗?

是的,但是对于这种情况你需要 Aspose.Words

问题 4:是否可以从 Excel 合并自动生成 PDF?

当然可以。只需使用 Aspose.Cells 将最终工作簿保存为 PDF 格式即可。

结论

Excel 邮件合并功能提供了一种强大的方法,可以使用熟悉的电子表格界面生成动态、个性化的文档。在这篇博文中,我们演示了如何使用 C# 从 Excel 进行邮件合并。通过使用 Aspose.Cells ,您可以灵活地完全自动化此过程,并生成数千份发票、证书或任何结构化报告。

http://www.lqws.cn/news/158365.html

相关文章:

  • uniappx插件nutpi-idcard 开发与使用指南(适配鸿蒙)
  • Linux免杀方案汇总(C语言)
  • 工业火焰探测器市场:现状、趋势与发展策略
  • JAVASCRIPT 简化版数据库--智能编程——仙盟创梦IDE
  • Python绘图库及图像类型之高级可视化
  • Axure 与 Cursor 集成实现方案
  • 矩阵分解相关知识点总结(四)
  • 【TinyWebServer】线程同步封装
  • RDMA简介5之RoCE v2队列
  • Git 推送失败解决教程——error: failed to push some refs to
  • Filebeat收集nginx日志到elasticsearch,最终在kibana做展示(二)
  • 代码训练LeetCode(24)数组乘积
  • day028-Shell自动化编程-判断进阶
  • 验证电机理论与性能:电机试验平板提升测试效率
  • 用 n8n 提取静态网页内容:从 HTTP Request 到 HTML 节点全解析
  • 【HarmonyOS 5】 影视与直播详以及 开发案例
  • Qt多线程访问同一个数据库源码分享(基于Sqlite实现)
  • 一次Oracle的非正常关闭
  • 十八、【用户认证篇】安全第一步:基于 JWT 的前后端分离认证方案
  • Cursor 1.0 版本 GitHub MCP 全面指南:从安装到工作流增强
  • oracle数据恢复—oracle数据库执行truncate命令后的怎么恢复数据?
  • 大疆相关知识收集
  • 深度解码:我如何用“结构进化型交互学习方法”与AI共舞,从学习小白到构建复杂认知体系
  • 从 ClickHouse、Druid、Kylin 到 Doris:网易云音乐 PB 级实时分析平台降本增效
  • 短视频矩阵系统技术saas源头6年开发构架
  • 【SSM】SpringMVC学习笔记7:前后端数据传输协议和异常处理
  • 05【Linux经典命令】Linux 用户管理全面指南:从基础到高级操作
  • Hive中ORC存储格式的优化方法
  • 服务器CPU被WMI Provider Host系统进程占用过高,导致系统偶尔卡顿的排查处理方案
  • 26考研 | 王道 | 计算机组成原理 | 四、指令系统