翻譯|使用教程|編輯:吉煒煒|2025-06-05 09:48:47.123|閱讀 154 次
概述:郵件合并功能讓您能夠輕松批量創(chuàng)建個(gè)性化文檔,例如信函、電子郵件、發(fā)票或證書。在本文中,我們將向您展示如何使用 C# 從 Excel 執(zhí)行郵件合并。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
郵件合并功能讓您能夠輕松批量創(chuàng)建個(gè)性化文檔,例如信函、電子郵件、發(fā)票或證書。您可以從模板入手,并使用電子表格中的數(shù)據(jù)進(jìn)行填充。Excel 文件中的每一行都會(huì)生成一個(gè)新文檔,并在正確的位置包含正確的詳細(xì)信息。這是一種自動(dòng)化重復(fù)性任務(wù)(例如發(fā)送發(fā)票或生成報(bào)告)的智能方法。在本文中,我們將向您展示如何使用 C# 從 Excel 執(zhí)行郵件合并。
我們將使用Aspose.Cells for .NET API 在 C# 中從 Excel 執(zhí)行郵件合并。它提供了強(qiáng)大的工具,可直接在代碼中處理 Excel 文件。它使開(kāi)發(fā)人員能夠輕松創(chuàng)建、讀取和更新電子表格。您還可以輕松處理郵件合并等高級(jí)任務(wù)。該庫(kù)使 Excel 自動(dòng)化快速、靈活且可靠。
要開(kāi)始使用 Aspose.Cells for .NET,請(qǐng)遵循以下簡(jiǎn)單的安裝說(shuō)明:
PM> Install-Package Aspose.Cells
Aspose.Cells 不支持與 Word 相同的“郵件合并”功能。它使用智能標(biāo)記將郵件合并添加到 Excel 。這些標(biāo)記在電子表格中充當(dāng)占位符,該庫(kù)會(huì)在運(yùn)行時(shí)將其替換為真實(shí)數(shù)據(jù)。在處理數(shù)據(jù)源中的每一行時(shí),它會(huì)自動(dòng)填充模板并擴(kuò)展內(nèi)容,讓您只需幾行 C# 代碼即可生成完全個(gè)性化的文檔。
&=DataSource.ColumnName
在處理過(guò)程中,Aspose.Cells 會(huì)用來(lái)自 、 或任何 的實(shí)際數(shù)據(jù)替換這些數(shù)據(jù)DataTable。List<T>例如IEnumerable,庫(kù)會(huì)&=Data.Name用數(shù)據(jù)表中“名稱”列的值替換這些數(shù)據(jù)。
創(chuàng)建一個(gè)包含智能標(biāo)記的 Excel 文件(例如 Template.xlsx)。以下是示例布局:
姓名 | 電子郵件 | 數(shù)量 |
---|---|---|
&=數(shù)據(jù).名稱 | &=數(shù)據(jù).電子郵件 | &=數(shù)據(jù).金額 |
要使用 Aspose.Cells for .NET 從 Excel 執(zhí)行郵件合并,只需按照以下步驟操作:
使用該類加載包含智能標(biāo)記的 Excel 模板文件Workbook。該類Workbook代表整個(gè) Excel 文件(工作簿)。加載的模板文件將用作合并輸出的布局。
Workbook workbook = new Workbook("Template.xlsx");
這里,我們創(chuàng)建一個(gè) DataTable 來(lái)模擬您的 Excel 數(shù)據(jù)源。每一列對(duì)應(yīng)一個(gè)智能標(biāo)記,每一行代表一組要插入的值。DataTable類名System.Data包含您要合并的數(shù)據(jù)。每一列對(duì)應(yīng)一個(gè)智能標(biā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);
我們使用該類WorkbookDesigner將模板與數(shù)據(jù)連接起來(lái)。這WorkbookDesigner是 Aspose.Cells 中一個(gè)特殊的類,用于處理智能標(biāo)記和數(shù)據(jù)綁定。它將數(shù)據(jù)源(例如 DataTable)與 Excel 模板鏈接起來(lái)。該SetDataSource()方法將 DataTable(數(shù)據(jù))綁定到工作簿中的智能標(biāo)記。
WorkbookDesigner designer = new WorkbookDesigner(workbook); designer.SetDataSource(dt);
設(shè)置數(shù)據(jù)源后,調(diào)用Process()會(huì)用 DataTable 中的實(shí)際值填充所有智能標(biāo)記。此命令執(zhí)行郵件合并。它會(huì)遍歷智能標(biāo)記,并將其替換為數(shù)據(jù)源中的實(shí)際值。
designer.Process();
最后,我們保存合并了所有數(shù)據(jù)的完整文件。
workbook.Save("MergedOutput.xlsx");
您可以使用一行代碼輕松地將合并的 Excel 文檔保存為 PDF。
// Set PDF options
PdfSaveOptions options = new PdfSaveOptions();
// Save as PDF
workbook.Save("MergedDocument.pdf", SaveFormat.Pdf);
// 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 文件包含每個(gè)條目的一行,其中填充了個(gè)性化數(shù)據(jù)來(lái)代替智能標(biāo)記。
使用 C# 從 Excel 進(jìn)行郵件合并 - 輸出
問(wèn)題 1:沒(méi)有安裝 Microsoft Office 可以使用 Excel 郵件合并嗎?
是的,郵件合并不需要Microsoft Office。Aspose.Cells獨(dú)立運(yùn)行,并通過(guò)其自帶的API處理所有事務(wù)。
Q2:智能標(biāo)記和 Word 合并字段有什么區(qū)別?
智能標(biāo)記可在 Excel 中使用,并且更易于自定義,可按行擴(kuò)展數(shù)據(jù)。合并字段功能則特定于 Word。
問(wèn)題 3:我可以使用 Aspose 將 Excel 合并到 Word 嗎?
是的,但是對(duì)于這種情況你需要 Aspose.Words。
問(wèn)題 4:是否可以從 Excel 合并自動(dòng)生成 PDF?
當(dāng)然可以。只需使用 Aspose.Cells 將最終工作簿保存為 PDF 格式即可。
Excel 郵件合并功能提供了一種強(qiáng)大的方法,可以使用熟悉的電子表格界面生成動(dòng)態(tài)、個(gè)性化的文檔。在這篇博文中,我們演示了如何使用 C# 從 Excel 進(jìn)行郵件合并。通過(guò)使用 Aspose.Cells ,您可以靈活地完全自動(dòng)化此過(guò)程,并生成數(shù)千份發(fā)票、證書或任何結(jié)構(gòu)化報(bào)告。
————————————————————————————————————————
關(guān)于慧都科技:
慧都科技是一家行業(yè)數(shù)字化解決方案公司,長(zhǎng)期專注于軟件、油氣與制造行業(yè)。公司基于深入的業(yè)務(wù)理解與管理洞察,以系統(tǒng)化的業(yè)務(wù)建模驅(qū)動(dòng)技術(shù)落地,幫助企業(yè)實(shí)現(xiàn)智能化運(yùn)營(yíng)與長(zhǎng)期競(jìng)爭(zhēng)優(yōu)勢(shì)。在軟件工程領(lǐng)域,我們提供開(kāi)發(fā)控件、研發(fā)管理、代碼開(kāi)發(fā)、部署運(yùn)維等軟件開(kāi)發(fā)全鏈路所需的產(chǎn)品,提供正版授權(quán)采購(gòu)、技術(shù)選型、個(gè)性化維保等服務(wù),幫助客戶實(shí)現(xiàn)技術(shù)合規(guī)、降本增效與風(fēng)險(xiǎn)可控。慧都科技Aspose在中國(guó)的官方授權(quán)代理商,提供Aspose系列產(chǎn)品免費(fèi)試用,咨詢,正版銷售等于一體的專業(yè)化服務(wù)。Aspose是文檔處理領(lǐng)域的優(yōu)秀產(chǎn)品,幫助企業(yè)高效構(gòu)建文檔處理的應(yīng)用程序。
下載|體驗(yàn)更多Aspose產(chǎn)品,請(qǐng)咨詢,或撥打產(chǎn)品熱線:023-68661681
加入Aspose技術(shù)交流QQ群(1041253375),與更多小伙伴一起探討提升開(kāi)發(fā)技能。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@ke049m.cn
文章轉(zhuǎn)載自:慧都網(wǎng)