對于Word中的郵件合并功能,用戶可以將郵件合并后的結(jié)果文檔保存并打印,也可以通過郵件的形式發(fā)送,在很多場合需要使用到此功能。那對于編程人員,我們也可以在C#語言環(huán)境中通過代碼的形式來實(shí)現(xiàn)。根據(jù)需要先創(chuàng)建郵件合并模板后,可合并文本和圖片,在下面的方法中,需要使用到組件Spire.Doc for .NET 。創(chuàng)建模板前,需先安裝該組件,注意添加引用該組件dll文件到控制臺應(yīng)用程序中,同時(shí)添加命名空間。
目前成都創(chuàng)新互聯(lián)公司已為近1000家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、網(wǎng)站托管、服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計(jì)、青島網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。第一步:添加命名空間
using System;
using Spire.Doc;
using Spire.Doc.Documents;
using System.Drawing;
using Spire.Doc.Fields;
第二步:主要代碼段
//創(chuàng)建一個(gè)Document類對象,并添加Section
Document document = new Document();
Section section = document.AddSection();
//添加段落到Section,并向段落添加文字,設(shè)置文字顏色、字體粗細(xì)
Paragraph paragraph = section.AddParagraph();
TextRange tr = paragraph.AppendText("人 物 基 本 信 息");
tr.CharacterFormat.TextColor = Color.YellowGreen;
tr.CharacterFormat.Bold = true;
//添加文本,并添加合并域“Image:Portrait”
paragraph.AppendText("\n人 物 肖 像 : ");
paragraph.AppendField("Image:Portrait", FieldType.FieldMergeField);
//添加文本,并添加合并域“Name”
paragraph.AppendText("\n姓 名 : ");
paragraph.AppendField("Name", FieldType.FieldMergeField);
//添加文本,并添加合并域“Nation”
paragraph.AppendText("\n民 族 :");
paragraph.AppendField("Nation", FieldType.FieldMergeField);
//添加文本,并添加合并域“Nationality”
paragraph.AppendText("\n國 籍 : ");
paragraph.AppendField("Nationality", FieldType.FieldMergeField);
//添加文本,并添加合并域“Graduated From”
paragraph.AppendText("\n院 校 : ");
paragraph.AppendField("Graduated From", FieldType.FieldMergeField);
//保存并打開文檔
document.SaveToFile("模板.docx", FileFormat.Docx2013);
System.Diagnostics.Process.Start("模板.docx");
完成以上步驟后,調(diào)試運(yùn)行程序,生成文件(可在項(xiàng)目文件下bin>Debug中查看)
如下圖:
在完成模板創(chuàng)建之后,可添加文本和圖片,如下:
第一步:添加命名空間
using System;
using Spire.Doc;
using System.Drawing;
using Spire.Doc.Reporting;
第二步:主要代碼段
static void Main(string[] args)
{
//實(shí)例化一個(gè)Document類,并加載文檔模板
Document doc = new Document();
doc.LoadFromFile(@"C:\Users\Administrator\Desktop\模板.docx");
var textFieldNames = new string[] { "Name", "Nation", "Nationality", "Graduated From"};
var textFieldValues = new string[] { "喬 治?華 盛 頓 (George Washington)", "美 利 堅(jiān) 民 族", "美 國", "威 廉 與 瑪 麗 學(xué) 院 (William and Mary)"};
var imageFieldNames = new string[] { "Portrait" };
var imageFieldValues = new string[] { @"C:\Users\Administrator\Desktop\images\華盛頓.jpg" };
//合并文本到模板
doc.MailMerge.Execute(textFieldNames, textFieldValues);
//創(chuàng)建合并圖片自定義事件
doc.MailMerge.MergeImageField += new MergeImageFieldEventHandler(MailMerge_MergeImageField);
//合并圖片到模板
doc.MailMerge.Execute(imageFieldNames, imageFieldValues);
//保存并打開文檔
doc.SaveToFile("result.docx", FileFormat.Docx);
System.Diagnostics.Process.Start("result.docx");
}
//添加自定義事件載入圖片
static void MailMerge_MergeImageField(object sender, MergeImageFieldEventArgs field)
{
string filePath = field.FieldValue as string;
if (!string.IsNullOrEmpty(filePath))
{
field.Image = Image.FromFile(filePath);
}
}
運(yùn)行程序,生成文件,如下圖:
以上全部內(nèi)容為本文創(chuàng)建郵件合并模板并合并文本和圖片的方法講述,方法中使用到的組件Spire.Doc for .NET在處理Word文檔方面具有很好的輔助作用,感興趣的話可以動(dòng)手試試。如果本文對你有所幫助,歡迎轉(zhuǎn)載(轉(zhuǎn)載請注明出處)。
創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國云服務(wù)器,動(dòng)態(tài)BGP最優(yōu)骨干路由自動(dòng)選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機(jī)房獨(dú)有T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動(dòng)現(xiàn)已開啟,新人活動(dòng)云服務(wù)器買多久送多久。
當(dāng)前標(biāo)題:C#創(chuàng)建郵件合并模板并合并文本、圖片-創(chuàng)新互聯(lián)
文章鏈接:http://m.rwnh.cn/article20/ddsico.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、定制開發(fā)、定制網(wǎng)站、網(wǎng)站設(shè)計(jì)公司、網(wǎng)站收錄、網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容