NPOI操作word文档1
1.首先进行XWPFDocument类的实例化,该类的实例对应一个word文档
XWPFDocument MyDoc = new XWPFDocument();
2.设置页面的大小
CT_SectPr m_SectPr = new CT_SectPr(); //实例一个尺寸类的实例
m_SectPr.pgSz.w = 16838; //设置宽度(这里是一个ulong类型)
m_SectPr.pgSz.h = 11906; //设置高度(这里是一个ulong类型)
MyDoc.Document.body.sectPr = m_SectPr; //设置页面的尺寸
上边的这一个横向的A4的页面大小,这里的单位比较特殊,用的是缇(Twip)这是一种和屏幕无关的长度单位,目的是为了让应用程序元素输出到不同设备时都能保持一致的计算方式。
换算关系:
1英寸=1440缇 1厘米=567缇 1磅=20缇 1像素=15缇
常用页面尺寸:(单位Twip)
A4(纵向):W=11906 H=16838
A4(纵向):W=16838 H=11906
A5 : W=8390 H=11906
A6 : W=5953 H=8390
如果不进行页面大小的设置,默认是纵向的A4大小。
3.创建段落
段落为XWPFParagraph类型的实例,段落由XWPFDocument实例的使用CreateParagraph()方法生成。
XWPFParagraph MyParagraph = MyDoc.CreateParagraph();
另外还有一种实例化XWPFParagraph类的创建段落的方法,效果和这个基本是一样的,但需要提供两个参数,比较麻烦。
该段落类有很多属性,用于设置与段落相关的内容。主要有以下几个方面
(1)边界相关的BorderXXXXX属性,该类属性用于获取或设置一个Borders枚举类型的值,该值用于设置边界的样式。
(2)FillBackgroundColor属性,背景填充的颜色。该属性获取或设置一个string类型的变量。该变量的含义是某个颜色的RGB值(在NPOI里所有的颜色都是以这种形式表示的)。例如设置为黑色则对应的代码如下:
MyParagraph.FillBackgroundColor = "#000000";
(3)Alignment属性,段落的对齐方式。该属性获取或设置一个ParagraphAlignment的枚举值。
(4)VerticalAlignment属性,文本垂直方向的对齐方式。该属性获取或设置一个TextAlignment 的枚举值。
(5)IndentationFirstLine属性,用于设置段落的首行缩进。该属性获取或设置一个int型变量。这个int值并不是缩进的字数,这里可以用一个函数计算缩进的距离。
//段落缩进 返回值为对应的缩进距离
//(fontname:文字类型名称 fontsize:文字大小 fontcount:缩进数目 fontstyle:文字类型(斜体、粗体...))
int Indentation(String fontname, int fontsize, int fontnum, FontStyle fontstyle)
{
Graphics gp = this.CreateGraphics();
gp.PageUnit = GraphicsUnit.Point;
SizeF size =gp.MeasureString("字", new Font(fontname,fontsize * 0.75F, fontstyle));
return (int)size.Width* fontnum * 10;
}
NPOI操作word文档1的更多相关文章
- iText操作word文档总结
操作word文档的工具有很多,除了iText之外还有POI,但是POI擅长的功能是操作excel,虽然也可以操作word,但是能力有限,而且还有很多的bug,技术并不成熟,下面就重点介绍一种操作wor ...
- C#操作Word文档(加密、解密、对应书签插入分页符)
原文:C#操作Word文档(加密.解密.对应书签插入分页符) 最近做一个项目,客户要求对已经生成好的RTF文件中的内容进行分页显示,由于之前对这方面没有什么了解,后来在网上也找了相关的资料,并结合自己 ...
- 利用Python操作Word文档【图片】
利用Python操作Word文档
- Java文件操作系列[3]——使用jacob操作word文档
Java对word文档的操作需要通过第三方组件实现,例如jacob.iText.POI和java2word等.jacob组件的功能最强大,可以操作word,Excel等格式的文件.该组件调用的的是操作 ...
- C#使用NPOI对Word文档进行导出操作的dll最新版2.5.1
Npoi导出非模板 最近使用NPOI做了个导出Word文档的功能,因为之前都是导出Excel很方便(不用模板),所以导出Word也选用了Npoi(也没有用模板,
- C#中使用Spire.docx操作Word文档
使用docx一段时间之后,一些地方还是不方便,然后就尝试寻找一种更加简便的方法. 之前有尝试过使用Npoi操作word表格,但是太烦人了,随后放弃,然后发现免费版本的spire不错,并且在莫种程度上比 ...
- 利用NPOI导出Word文档帮助类
/// <summary> /// NPOI操作Word /// </summary> public class NpoiWordHelper { /// <summar ...
- 使用NPOI读取Word文档内容并进行修改
前言 网上使用NPOI读取Word文件的例子现在也不少,本文就是参考网上大神们的例子进行修改以适应自己需求的. 参考博文 http://www.cnblogs.com/mahongbiao/p/376 ...
- QTP操作word文档
QTP可以对word文档进行操作,这里最主要展示的是向word文档写入内容,并保存的功能. Option explicit Dim wordApp Set wordApp = createobject ...
随机推荐
- CTF之LSB信息隐藏术
LSB也就是最低有效位,原理是图片中的像素一般是由三种颜色构成,即三原色(绿红蓝),由这三种颜色可以组成其它各种颜色. 例如在PNG图片的储存中,每个颜色会有8bit,LSB隐写就是修改了像素中的最低 ...
- 《DSP using MATLAB》Problem 4.2
用matlab不会证,惭愧.
- 视觉惯性里程计Visual–Inertial Odometry(VIO)概述
周围很多朋友开始做vio了,之前在知乎上也和胖爷讨论过这个问题,本文主要来自于知乎的讨论. 来自https://www.zhihu.com/question/53571648/answer/13772 ...
- ES中Module的使用
Module 1.ES6在语言标准的层面上,实现了模块功能,成为浏览器和服务器通用的模块解决方案,完全可以取代 CommonJS 和 AMD 规范,基本特点如下: 每一个模块只加载一次, 每一个JS只 ...
- C#处理Exception的常用方法总结
在.NET中,异常是指成员没有完成它的名称宣称可以完成的行动.在异常的机制中,异常和某件事情的发生频率无关. 异常处理四要素包括:一个表示异常详细信息的类类型:一个向调用者引发异常类实例的成员:调用 ...
- Python函数 dict()
dict() 作用:dict() 函数用于创建一个字典.返回一个字典. 语法: class dict(**kwarg) class dict(mapping, **kwarg) class dict( ...
- Servlet 简介
1. 如下图 2. 每一个Servlent都必须实现Servlent接口. GenericServlet是个通用的.不特定于任何协议的Servlet, 它实现了Servlet接口,而Httpservl ...
- yum下载文件的存放位置
yum下载文件的存放位置 默认是: /var/cache/yum 也可以在 /etc/yum.conf 指定 cachedir=/var/cache/yum #存放目录keepcache=1 # ...
- 微信小程序篇(微信小程序的支付)
微信小程序的支付和微信公众号的支付是类似的,对比起来还比公众号支付简单了一些,我们只需要调用微信的统一下单接口获取prepay_id之后我们在调用微信的支付即可. 今天我们来封装一般node的支付接口 ...
- cookie和session得区别
1.cookie 是一种发送到客户浏览器的文本串句柄,并保存在客户机硬盘上,可以用来在某个WEB站点会话间持久的保持数据. 2.session其实指的就是访问者从到达某个特定主页到离开为止的那段时间. ...