zoukankan      html  css  js  c++  java
  • 向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);

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

    感谢您的阅读。

  • 相关阅读:
    PPT2010中插入页码并且改变页码的位置
    Axis2发布webservice(2)--利用eclipse的axis2插件打包为arr发布
    Axis2发布webservice(1)--0配置发布
    权限设计
    网易2016实习生前端笔试题部分总结
    浅谈HTML文档模式
    从原型链看DOM--Node类型
    JavaScript之Function函数深入总结
    javascript之面向对象程序设计(对象和继承)
    javascript之基本包装类型(Boolean,Number,String)基础篇
  • 原文地址:https://www.cnblogs.com/yang-fei/p/5302954.html
Copyright © 2011-2022 走看看