如何使用C#填写Word文档?

pha*_*han 7 .net c# forms ms-word ms-office

我有一个Word文档,letter.docx,这是一封我打算邮寄给数百人参加聚会的信.这封信已经组成,并且已经以自己特殊的方式格式化,具有不同的类型大小和字体.它已设置好并准备好了,占位符我必须填写变量,如姓名,地址,电话号码等.

现在,我想编写一个C#程序,用户可以在其中输入名称,地址等变量,表单,点击按钮,并生成letter.docx,并在正确的位置填写正确的信息.

我理解Word具有允许你这样做的功能,但我真的想在C#中做到这一点.

pxm*_*pxm 11

当然你可以做到.在项目中使用Microsoft.Office.Interop.Word引用.

首先在"插入"选项卡中为要在文档中更新的所有字段添加书签(例如,NameField标记有标记'name_field').然后,在您的C#代码中添加以下内容:

Microsoft.Office.Interop.Word.Application wordApp = null;
wordApp = new Microsoft.Office.Interop.Word.Application();
wordApp.Visible = true;

Document wordDoc = wordApp.Documents.Open(@"C:\test.docx");
Bookmark bkm = wordDoc.Bookmarks["name_field"];
Microsoft.Office.Interop.Word.Range rng = bkm.Range;
rng.Text = "Adams Laura"; //Get value from any where
Run Code Online (Sandbox Code Playgroud)

记得妥善保存并关闭文件.(你可以看到这个)


Sea*_*gan 1

我不知道该语言内置了任何内容,但这里的示例似乎完全符合您的要求。

如果您可以提供您想要执行的操作的具体示例(占位符字段是?具体命名文本位?),我可能可以为您提供直接针对您的问题的更精确的答案。