C# Aspose.Word 操作word文档(利用模板)
上一篇我们介绍了用书签的方式来填充word中数据,今天介绍第二种方法操作word!
依旧是先自己建好word模板,然后这里就不需要插入书签了。
1、建立模板
能看到红色标示的区域依旧用到了书签,没事我们全删掉,如下图:
2、分析下为什么不用书签了,因为我的数据是动态生成的,而且不止一条,有很多条,所以这时候书签就起不到作用了,当然你也可以放在一个书签里,但是内容都在一个书签单元格里,会很恐怖的,而且不符合客户需求。
3、编写代码:
string tempFile = Path.GetFullPath("resource/templete/项目建议书模板.doc").ToString();
Document doc = new Document(tempFile);
DocumentBuilder builder = new DocumentBuilder(doc);
NodeCollection allTables = doc.GetChildNodes(NodeType.Table, true); //获取word中所有表格table
Aspose.Words.Tables.Table table1 = allTables[0] as Aspose.Words.Tables.Table;//拿到第1个表格
var roww1 = table1.Rows[14]; //获取第14行
for (int i = 0; i < dt2.Rows.Count - 1; i++) //dt2为数据源 datatable
{
var row1 = roww1.Clone(true);//复制第14行
table1.Rows.Insert(14 + i, row1);//将复制的行插入当前行的上方
builder.MoveToCell(0, 14 + i, 1, 0); //移动到第一个表格的第十四行第一个格子
builder.Write(dt2.Rows[i]["MingCheng"].ToString()); //单元格填充文字
builder.MoveToCell(0, 14 + i, 2, 0); //移动到第一个表格的第十四行第二个格子
builder.Write(dt2.Rows[i]["GuiGeXingHao"].ToString()); //单元格填充文字
builder.MoveToCell(0, 14 + i, 3, 0); //移动到第一个表格的第十四行第三个格子
builder.Write(dt2.Rows[i]["DanWei"].ToString()); //单元格填充文字
builder.MoveToCell(0, 14 + i, 4, 0); //移动到第一个表格的第十四行第四个格子
builder.Write(dt2.Rows[i]["ShuLiang"].ToString()); //单元格填充文字
}
table1.Rows.RemoveAt(14 + dt2.Rows.Count - 1); //移除多余的空行
doc.Save(tempFile);
4、效果图:
C# Aspose.Word 操作word文档(利用模板)相关推荐
- 【python自动化办公01】word操作-新建文档
点击上方"AI搞事情"关注我们 Python操作Word(Win32com)https://zhuanlan.zhihu.com/p/67543981 Office VBA 参考h ...
- VB中操作Excel文档
篇一:利用 Python 操作 Excel文档 利用 Python 操作 Excel 在Excel 2010中打开VBA编辑器,请按 Alt + F11 打开: 以下代码在 Excel ...
- 利用Aspose.Word控件和Aspose.Cell控件,实现Word文档和Excel文档的模板化导出
我们知道,一般都导出的Word文档或者Excel文档,基本上分为两类,一类是动态生成全部文档的内容方式,一种是基于固定模板化的内容输出,后者在很多场合用的比较多,这也是企业报表规范化的一个体现. 我的 ...
- Aspose.words 操作 word 文档
Aspose.words 操作 word 文档 文章目录 Aspose.words 操作 word 文档 对文档文字进行替换 对文档插入文本.表格以及删除表格 对文档文字进行替换 /*** 对word ...
- python处理word或者pdf文件_利用python程序生成word和PDF文档的方法
一.程序导出word文档的方法 将web/html内容导出为world文档,再java中有很多解决方案,比如使用Jacob.Apache POI.Java2Word.iText等各种方式,以及使用fr ...
- 【C#】C#使用Microsoft.Office.Interop.Word操作Word文档,向表格插入图片
上篇:[C#]C#使用Microsoft.Office.Interop.Word操作Word文档,替换文本 Word模板: 代码: try {Application app = new Applica ...
- 如何利用Word 2016为文档添加批注
在日常工作中,某些文件需要领导审阅或者经过大家讨论后才能够执行,所以就需要在这些文件上进行一些批示.修改.办公软件提供了批注.修订.更改等审阅工具,大大提高了办公效率.在使用Word 2016编辑文档 ...
- Word 2003 长篇文档排版技巧(二)
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html 内部邀请码:C8E245J (不写邀请码,没有现金送) 国 ...
- Word 2003 长篇文档排版技巧(一)
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html 内部邀请码:C8E245J (不写邀请码,没有现金送) 国 ...
最新文章
- matlab看fft帮助,日记 [2009年06月02日] MATLAB FFT HELP 帮助文档及我的翻译
- X3650M3 客户端联不上加密狗!
- Map集合遍历的四种方式理解和简单使用
- RandLA-Net测试
- 尼康G镜头与D镜头的差别
- 前台文件_欧木瑾怎么定制办公前台?
- 出现503错误 怎么办
- 我是不是在浪费生命?
- 如何提高个人博客的访问量
- 拼多多摄像头是否安全的检测
- nexus的下载和安装
- 国密算法(SM2)简介及SM2生成秘钥
- 手机app端,token的详解
- 轻论坛StartBBS、YouBBS、Xiuno对比
- 几家大厂求职与面试(一):Java必备,不看就是遗憾
- c语言P0=0x是什么意思,0x80(单片机0x80什么意思)
- GridView列标题设置颜色
- input边框怎么去掉
- 博弈论(Game Theory)
- 用正则表达式实现的计算器
热门文章
- on duplicate key update不生效_为什么不把蚊子吸血原理应用于医院化验抽血?
- java的回文是什么_Java实现回文判断
- pythonturtle库使用心得_记录我的Python学习之旅(一)关于turtle库的基本用法
- 耗时两年,19岁小伙采用230片纯74逻辑芯片搭建出32位Risc-V处理器!可玩贪吃蛇...
- CPU为什么是方形而不是圆形的?
- 这届清华学生太难了!C++作业难到上热搜!
- 异常处理_月隐学python第19课
- 如何将sql数据导入到oracle数据库,将SQLServer的数据导入到Oracle数据库的方法-Oracle...
- java 断点续传 开源_java断点续传原理
- android:ellipsize = marquee 跑马灯,Android-单行跑马灯(一直循环)效果