c#实现Word联接Excel的MailMerge功能
来源:互联网 发布:淘宝店图标在线制作 编辑:程序博客网 时间:2024/04/29 17:46
目标:使用Word的MailMerge功能,数据源是Excel中的数据。这些资料在网上很少,只能自己慢慢测试了。
Word提供邮件的模板,可以选择各种数据源,比如数据库,Excel等,然后群发(或打印、另存文件)邮件。
1:打开Word文件对象
2:设置MailMerge数据源:指定Excel,指定查询语句,指定联接的列s
3:关闭保存
关于引用:
usingWord=Microsoft.Office.Interop.Word;
usingSystem.Reflection;
usingSystem.Diagnostics;
usingSystem.IO;
关于变量:Word的com对象需要传入的参数定义
Word.ApplicationWordApp=newMicrosoft.Office.Interop.Word.Application();
objectmissing=System.Reflection.Missing.Value;
objectfalseValue=false;
objecttrueValue=true;
关于处理
需要注意的是
1:打开Word的方式
2:query的写法。类似于sql一般,比较好玩。
3:设置列,。设置之后,在Word中可以看见这些列。
4:关闭Word之后,还得再copy一次Excel。直接生成之后的Excel文件size暴涨,文件还打不开,所以覆盖一遍了之。原因不详。
privatevoidbutton1_Click(objectsender,EventArgse)
{
objectfileName=CopyTemplateDoc();//copydocin
Word.Documentdoc=WordApp.Documents.Open(reffileName,refmissing,reffalseValue,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,reftrueValue,refmissing,refmissing,refmissing);
objectlinkTo=CopyExcelData();//copyExceldata
objectquery="SELECT*FROM`Sheet1$`";//datafromsheet1
objectheader="Name,Category,Address,Content";//filedlist
try
{
doc.MailMerge.CreateDataSource(reflinkTo,refmissing,refmissing,refheader,reffalseValue,refquery,refmissing,refmissing,reftrueValue);
doc.MailMerge.Fields.Add(WordApp.Selection.Range,"Name");//addonefiledtotest
MessageBox.Show("success");
}
catch(Exceptionex)
{
MessageBox.Show(ex.Message);
}
finally
{
doc.Save();//saveWord
CloseApp();//closeWordapp
CopyExcelData();//copydataagain,*******************
}
}
关于关闭Word对象
publicvoidCloseApp()
{
WordApp.Documents.Close(reftrueValue,refmissing,refmissing);
WordApp.Quit(reftrueValue,refmissing,refmissing);
System.Runtime.InteropServices.Marshal.ReleaseComObject(WordApp);
GC.Collect();
//this.KillExcelProcess();
}
还有两个工具函数不再赘述,用来copy文件并且返回文件名privatestringCopyExcelData();和privatestringCopyTemplateDoc()。
- c#实现Word联接Excel的MailMerge功能
- WOrd ,excel实现打印功能
- 报表导出到word或者excel的功能实现
- C#实现对Word、Excel等的模版定制
- Winfom实现word 和 Excel 预览功能
- c#上实现word打印功能
- C# 实现多种Word邮件合并功能
- C# 实现Excel转Word、Word转PDF、合并PDF
- Ubuntu 服务器 PHP实现word、excel、ppt、pdf 等文档在线阅读功能的实现
- C#的office操作[word&Excel]
- C#的office操作[word&Excel]
- C#的office操作[word&Excel]
- C#的office操作[word&Excel]
- .net 实现word、excel、ppt、pdf预览功能
- c#操作 word excel
- C# 操作Word ,Excel
- JSP页面实现图片、PDF字节流的显示,Word、Excel、Zip字节流的下载功能的实现
- 在C#中实现Word页眉页脚的所有功能
- 不用GD库生成当前时间的PNG格式图象的程序
- 利用AJAX和ASP.NET实现简单聊天室
- 用PHP实现登陆验证码(类似条行码状)
- 解开Ajax技术中的达芬奇密码
- 用PHP调用Oracle存储过程
- c#实现Word联接Excel的MailMerge功能
- 学习PHP重在坚持
- GridView添加删除按钮终极办法
- PHP木马程序攻击的防御之道
- ASP.NET服务器端异步Web方法
- 自动跳转中英文页面代码
- .NET中多线程的同步资源访问
- C#下用P2P技术实现点对点聊天
- 智能跳转的404错误页面