向Word模板中填充数据

简介: 原文:向Word模板中填充数据现在有这样的需求,给Word文档的指定位置填充上特定数据,例如我们有一个终端,用来打印员工的薪资证明,对于一个公司来说,他的薪资证明模板是固定的,变化的地方是员工姓名,部门,职位等。
原文: 向Word模板中填充数据

现在有这样的需求,给Word文档的指定位置填充上特定数据,例如我们有一个终端,用来打印员工的薪资证明,对于一个公司来说,他的薪资证明模板是固定的,变化的地方是员工姓名,部门,职位等。我们只需要将这些指定数据填写到指定位置即可。

1. 制作Word模板,

在Word中,有一个东东叫书签,我们可以在需要填充的地方预先插入特定名称的书签。

2. 在指定的Bookmark位置写入特定数据:

    MSWord.Application app = new MSWord.Application();

    string destPath = "薪资证明.docx";

    string targetPath = System.IO.Path.Combine(Directory.GetCurrentDirectory(), destPath);

    MSWord.Document doc = app.Documents.Open(targetPath, Visible:false);

    MSWord.Bookmark bmName = doc.Bookmarks.OfType<MSWord.Bookmark>().First(bm => bm.Name == "Bookmark_Name");

    if(bmName != null)
    {
        bmName.Range.Text = "Tom Wang";
    }

    MSWord.Bookmark bmDept = doc.Bookmarks.OfType<MSWord.Bookmark>().First(bm => bm.Name == "Bookmark_Department");

    if(bmDept != null)
    {
        bmDept.Range.Text = "Department";
    }

    MSWord.Bookmark bmJob = doc.Bookmarks.OfType<MSWord.Bookmark>().First(bm => bm.Name == "Bookmark_Job");

    if(bmJob != null)
    {
        bmJob.Range.Text = "Software engineer";
    }

    MSWord.Bookmark bmSalary = doc.Bookmarks.OfType<MSWord.Bookmark>().First(bm => bm.Name == "Bookmark_Salary");

    if(bmSalary != null)
    {
        bmSalary.Range.Text = "10000";
    }

    MSWord.Bookmark bmDate = doc.Bookmarks.OfType<MSWord.Bookmark>().First(bm => bm.Name == "Bookmark_Date");

    if(bmDate != null)
    {
        bmDate.Range.Text = DateTime.Now.ToShortDateString();
    }

    doc.Save();

    doc.Close();

    Marshal.ReleaseComObject(doc);

    Marshal.ReleaseComObject(app);

运行程序,可以将需要的数据插入指定位置。

感谢您的阅读。

目录
相关文章
|
6月前
|
Java Apache 索引
POI操作大全(动态合并单元格,为单元格生成一个自定义的数据显示格式,自定义公式计算结果生成,读取excel,word文件在生成图片,word指定位置生成图片)
POI操作大全(动态合并单元格,为单元格生成一个自定义的数据显示格式,自定义公式计算结果生成,读取excel,word文件在生成图片,word指定位置生成图片)
926 0
|
XML 数据格式
Freemarker填充数据到word模板中
Freemarker填充数据到word模板中
124 1
|
6月前
|
存储 SQL C#
C# 读取二维数组集合输出到Word预设表格
C# 读取二维数组集合输出到Word预设表格
将excel文件中的内容转换成word文本(去表格)
将excel文件中的内容转换成word文本(去表格)
557 0
将excel文件中的内容转换成word文本(去表格)
|
算法
三行代码将Excel转为任意格式的Word
大家好,我是志斌~ 今天来跟大家分享一个实际案例需求,本文来自小明大佬的创作~
201 0
三行代码将Excel转为任意格式的Word
|
编译器
word公式复制到另一个word当中出现图片解决方案
word公式复制到另一个word当中出现图片解决方案
1819 0
word公式复制到另一个word当中出现图片解决方案
|
C# 搜索推荐
C# 在Word中添加表格的方法
表格是组织整理数据的一种重要手段,应在生活中的方方面面。在Word文档中将繁杂的文字表述内容表格化,能快速、直接地获取关键内容信息。那么,通过C#,我们也可以在Word文档中添加表格,这里将介绍两种不同的表格添加方法。
1069 0