领取MOLI红包
- 发布日期:2025-01-04 17:33 点击次数:200
一、简介
操作Word的类库:
NPOI: V2.5.1 快速生成 https://github.com/tonyqus/npoiDocX(属于Xceed Words for .NET的免费版本): V1.6.0 https://github.com/xceedsoftware/DocXAspose.Words: 收费Spire.Doc: 收费
二、简单使用
1、XWPFDocument类的实例化
该类的实例对应一个word文档
2、设置页面的大小
如果不进行页面大小的设置,默认是纵向的A4大小。横向的A4的页面大小 ,如果要纵向,宽高两个值调换即可。
这里的单位比较特殊,用的是缇(Twip)这是一种和屏幕无关的长度单位,目的是为了让应用程序元素输出到不同设备时都能保持一致的计算方式。
换算关系:
1英寸=1440缇1厘米=567缇1磅=20缇1像素=15缇
常用页面尺寸:(单位Twip)
A4(纵向):W=11906 H=16838A4(纵向):W=16838 H=11906A5 : W=8390 H=11906A6 : W=5953 H=8390
示例:控制word页内边距
3、段落处理
创建段落
段落为XWPFParagraph类型的实例,段落由XWPFDocument实例的使用CreateParagraph()方法生成。
该段落类有很多属性,用于设置与段落相关的内容。主要有以下几个方面
BorderXXXXX属性:该值用于设置边界的样式。该属性用于获取或设置一个Borders枚举类型的值,FillBackgroundColor属性:背景填充的颜色。该属性获取或设置一个string类型的变量。该变量的含义是某个颜色的RGB值(在NPOI里所有的颜色都是以这种形式表示的)。例如设置为黑色则对应的代码如下:Alignment属性:段落的对齐方式。该属性获取或设置一个ParagraphAlignment的枚举值。VerticalAlignment属性:文本垂直方向的对齐方式。该属性获取或设置一个TextAlignment 的枚举值。IndentationFirstLine属性:用于设置段落的首行缩进。该属性获取或设置一个int型变量。 这个int值并不是缩进的字数,这里可以用一个函数计算缩进的距离。
示例:创建段落
换页(本页未满直接写下一页)
文本处理
doc.Paragraphs 获取到文档里的所有的段落对象;para.ParagraphText 获取段落的文本数据;para.ReplaceText(要被替换的文本,替换文本) 替换段落的文本(模板能实现的关键)
4、表格处理
doc.Tables 获取文档里的所有的表格对象;//doc.Tables获取的只是Word中最外层的表格,不包含嵌套内层的。 cell.Tables;//获取嵌套单元格可使用 row.Rows //获取表格所有行; row.GetTableICells() ;//获取表格行的所有单元格; 获取到单元格之后就可以获取单元格里的文本段落(Paragraphs)并且进行文本替换
创建表格
控制表格中列宽(这里需要注意,只设置一行的列宽一旦插入文字就会使设置的列宽失效,所以要把每一个单元格都要设置上)
设置表格中单元格竖直居中
设置单元格内容
表格中换行
合并单元格
水平合并行单元格
合并行、垂直合并列单元格
5、页眉页脚处理
三、综合示例
四、参考
Word与Excel字号对照表
到此这篇关于C#使用NPOI对word进行读写的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持脚本之家。