使用C#邮件合并(Excel到Word)

我想知道是否有人知道如何使用Excel文件作为数据源进行邮件合并,以填写Word模板上的字段? 如果可以的话,我希望使用interop for Word …但是在找到代码时遇到一些困难。 有没有人有这方面的语法? 先感谢您。

学习如何在MS Word中自动执行特定操作的一种非常有用的方法是在启用“记录宏”的情况下手动执行操作。

一旦你有了VBA宏,它很容易将其转换为使用互操作的VB.NET或C#。 我倾向于首先在Word中手动调整VBA,这样我就可以在使用互操作层转换为.NET语言之前先测试它。

我对mailmerge了解不多,但这是我录制宏时生成的一些VBA:

ActiveDocument.MailMerge.MainDocumentType = wdFormLetters ActiveDocument.MailMerge.OpenDataSource Name:= _ "c:\Arrays.xlsx", ConfirmConversions:=False, _ ReadOnly:=False, LinkToSource:=True, AddToRecentFiles:=False, _ PasswordDocument:="", PasswordTemplate:="", WritePasswordDocument:="", _ WritePasswordTemplate:="", Revert:=False, Format:=wdOpenFormatAuto, _ Connection:= _ "Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=c:\Arrays.xlsx;Mode=Read;Extended Properties=""HDR=YES;IMEX=1;"";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Engine Type=37;Jet OLEDB:Database Loc" _ , SQLStatement:="SELECT * FROM `Sheet1$`", SQLStatement1:="", SubType:= _ wdMergeSubTypeAccess 

我没有在这里包含完整的代码,但希望这会给你一些想法。

Word(至少在2007版本中,这就是我正在看的)可以开箱即用。 只需选择Excel文件作为数据源即可。 您在代码中尝试做什么?

我使用这个第三方控件。 您可以将xls文件读入数据表,然后告诉控件将其合并。