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

标签 c# .net forms ms-word ms-office

我有一个 Word 文档 letter.docx,这是一封我打算邮寄给数百人参加聚会的信。这封信已经写好,并以其自己的特殊方式进行了格式化,使用了不同的字体大小和字体。它已设置好并准备就绪,带有占位符,我必须在其中填写会更改的变量,例如姓名、地址、电话号码等。

现在,我想编写一个 C# 程序,用户可以在其中输入名称、地址等可变内容到表单中,点击一个按钮,然后生成 letter.docx,其中填写了正确的信息正确的地方。

我知道 Word 具有允许您执行此操作的功能,但我真的想在 C# 中执行此操作。

最佳答案

当然可以。在您的项目中使用 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

请记住正确保存并关闭文档。(您可以 see this )

关于c# - 如何使用C#填写Word文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22257812/

相关文章:

c# - 获取 IEnumerable<T> 中 T 的类型

c# - 在多个项目中使用相同的数据库

.net - 垃圾收集器如何判断一个对象是否是垃圾?

forms - flutter 错误 “A build function returned null”

c# - 无法将 Microsoft Office Interop 程序集添加到项目中

c# - 使用 ClearCanvas 将 JPG 图像文件编码为 DICOM PixelData

c# - WPF 数据绑定(bind)异常处理

c# - WPF 中是否有 BitBlt 的等价物?

javascript - 更改放置在模态页脚中的按钮的任务

javascript - jQuery .replaceWith() 方法点击刷新