C#界面程序设计——04导入并修改word文件

为实现通过C#界面设计自动打印测试报告的功能,本人将一个Word模板导入软件,并通过修改书签的方式自动填写测试结果。
一、导入文件的界面实现
新建一个button、再建一个textbox,如下图所示:

双击按钮进入按钮编辑函数,代码实现如下:

private void button7_Click(object sender, EventArgs e){OpenFileDialog dialog = new OpenFileDialog();if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK){string fullFileName = dialog.FileName;// 导入目标word的地址及文件名textBox1.Text = fullFileName;//将文件地址显示在界面上}}
    实现效果为:


此操作的目的是导入报告的地址,而不是将该word存放于程序中。
二、建立报告模板并添加书签
建立测试报告模板,如下图:

在要需要打印结果的位置添加书签,并对该书签命名。
三、添加引用类——Aspose
(注:作者使用的是WPS,所以使用Aspose即可,Office没尝试过)
在解决方案管理中添加引用


此处需要下载Aspose.Words.dll,本文提供一个下载地址链接(如有侵权请及时联系作者删除):https://pan.baidu.com/s/1OekDrpypuQJsDdlwuk4dNA
提取码:ftw9
点击浏览,找到该.dell文件的位置,点击添加即可。
若不引用该文件,使用Aspose.Words类时会报错。
四、将字符串导入Word文件
操作流程为先导入目标Word文档,然后点击自动测试按钮,最后查看目标文档是否得到修改。
此处需要注意的是,带书签的文档复制后不可作为目标文档,否则会报错:Start and end node should have the same grand parent.
包括文件导入、文件修改整体程序如下:

string fullFileName = "";//保存测试报告模板的地址private void button7_Click(object sender, EventArgs e)//导入测试报告按钮函数{OpenFileDialog dialog = new OpenFileDialog();if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK){fullFileName = dialog.FileName;textBox1.Text = fullFileName;}}Aspose.Words.Document wordDoc;//声明对象,private void button1_Click(object sender, EventArgs e)//通讯协议测试按钮函数{wordDoc = new Document(fullFileName);ZiDongCeShi_And_SaveWord();//测试并填充结果的函数}public void ZiDongCeShi_And_SaveWord(){string LabelId = "C_result";//标签一string sss = "TongGuo";WriteBookMark(LabelId, sss);//将字符串Content填充到书签LabelId的位置LabelId = "CS_004";sss = "测试004通过";WriteBookMark(LabelId, sss);LabelId = "CS_008";sss = "测试008通过";WriteBookMark(LabelId, sss);LabelId = "CS_010";sss = "测试010通过";WriteBookMark(LabelId, sss);wordDoc.Save(fullFileName);}public void WriteBookMark(string LabelId, string Content)//写入函数,将字符串Content填充到书签LabelId的位置{if (wordDoc.Range.Bookmarks[LabelId] != null){wordDoc.Range.Bookmarks[LabelId].Text = Content;}}

可在ZiDongCeShi_And_SaveWord()中规定各位置值的填充内容。
实例操作结果如下:

C#界面程序设计——04导入并修改word文件相关推荐

  1. 批量修改html文件内容,批量修改word文件内容 批量修改WORD文件的页眉页脚

    批量修改多个Word文档内容 同时批量修改多个word文档步骤1把要批量修改的文档都放在同一个文件夹中同时批量修改多个word文档步骤2在修改前,先确定多个word文档文件要被修改的内容如小小要修改的 ...

  2. 如何批量修改word文件名称?

    如何批量修改word文件名称?word文件可以说是工作中最常见也使用最多的文件形式,我相信每个人的电脑中word文件是最多的,文件多了就需要进行整理,整理文件的最重要一点就是给文件进行重命名,让他们更 ...

  3. 使用python修改word文件

    通过使用Python修改Word文件 import osimport win32com from self import self from win32com.client import Dispat ...

  4. Python批量导入图片到Word文件

    问题背景:2017年4月应华章公司邀请,翻译一本来自美国的Python入门教材,全书共750页,2018年4月完成翻译交稿,2018年9月责任编辑寄来样稿进行印刷前校对.经过半个月的检查和校对,又进行 ...

  5. [原]ubuntu14.04 网卡逻辑修改没有文件/etc/udev/rules.d/70-persistent-net.rules

    -----问题出现------ 在新装的ubuntu14.04系统中没有发现文件/etc/udev/rule.d/70-persistent-net.rules, 无法修改网络的逻辑名称(即把第一张网 ...

  6. 如何修改Word文件里面的段落背影颜色

    Word文件有时需要修改段落背景颜色,那么怎么修改了.以最常用的speedoffice为例. 1.首先,选择需要设置段落颜色的段落或者是光标放在段落里面,如图: 2.然后,点击菜单栏上"主页 ...

  7. 树莓派Ubuntu 16.04 MATA系统 修改用户文件夹名后,提示configure it with blueman-service...

    自从修改了树莓派的Ubuntu 16.04 MATA 系统的 /home/ 下的用户文件夹名后,使用vncserver远程操作,看到桌面每次都提示 Configured directory for i ...

  8. java使用jacob修改word文件字体

    public class Test { /**      * 不保存待定的更改.      */     static final int WDDONOTSAVECHANGES = 0; public ...

  9. python docx 修改word文件 不能修改 首行缩进

    多年不写代码了. 近期研究python办公自动化,遇到点问题. 1.如果源文件段落-首行缩进有设定"字符"相关数值时,则不能通过以下方式修改为其他数值(Pt.Cm) paragra ...

最新文章

  1. Linux 学习手记(6): 磁盘、分区、MBR与GPT
  2. 数据蒋堂 | 数据压缩手段
  3. python 福利彩票_使用Python买福彩,5个数字,20选5,有没买过
  4. Gitee ssh 公钥配置好后,仍然 permission denied 的排查过程及解决方法
  5. django 如何提升性能(高并发)
  6. 如何寻回xp盘符丢失的数据
  7. 搭建Hexo博客(一)-创建Hexo环境
  8. 第二层$.get()、$.post() 方法使用(三)
  9. mysql binlog生成异常_mysql binlog故障演练
  10. 如何关闭子线程?征集析构函数与多线程的讨论!
  11. 极客大学架构师训练营 框架开发 设计原则 设计模式 反应式编程框架 上课总结 第五课
  12. pascal-5i 数据集
  13. VS2017超有用秘钥(亲测)
  14. sql if语句实例
  15. 微信小程序 flex:1表示什么
  16. 十三、直接、寄存器间接寻址、寄存器相对寻址、基址变址寻址、相对基址变址寻址
  17. 计算机无法打开浏览器,Internet选项打不开怎么办?IE浏览器internet选项无法打开解决方法...
  18. NIOS II——PIO寄存器分析及使用
  19. 将汉字转化为拼音的js插件
  20. skimage.filters.frangi函数

热门文章

  1. 怎样有效的检索文献?
  2. Android发送短信的两种方法
  3. Zeppelin集成Spark3
  4. 字体压缩神器font-spider的使用
  5. CC00028.CloudKubernetes——|KuberNetes二进制部署.V06|5台Server|——|etcd配置|
  6. 训练题库CTF题库最近在论证一个问题,到底是先有鸡还是先有蛋 (Ijm,lo 3wsdr4 6tghu7)
  7. 计算机手动配置信息,手动配置 IPv6
  8. Window10 系统 把图片制作成视频
  9. 华为隐藏鸿蒙,鸿蒙系统有隐私空间吗_华为鸿蒙系统有隐私空间吗
  10. [Java]介绍|环境|编码|数据类型|String|运算符|标准输入|if语句|循环语句|三元运算符|循环语句|swich语句