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 ...
随机推荐
- (11)shutil模块(文件处理模块)
shutil模块的格式 shutil.copyfileobj(文件1,文件2) #将文件1的数据覆盖copy给文件2 import shutil f1 = open("1.txt&quo ...
- 【JVM】jvm至jstack命令
一.介绍 jstack是java虚拟机自带的一种堆栈跟踪工具.jstack用于打印出给定的java进程ID或core file或远程调试服务的Java堆栈信息,如果是在64位机器上,需要指定选项&qu ...
- ==,equals,hashcode
总结:== 基本类型比较值,引用类型比较是不是同一个对象,也就是比较内存地址 equals 在没有覆盖的情况下是比较 引用的地址的 和 == 一样 hashcode 和equals关系: hashc ...
- day20 python sys os time json pickl 正则
字符组 : [字符组] 在同一个位置可能出现的各种字符组成了一个字符组,在正则表达式中用[]表示 字符分为很多类,比如数字.字母.标点等等. 假如你现在要求一个位置....9这10个数之一. 量词 几 ...
- MySql初试
初次使用MySql感觉有点不方便,习惯了使用MS Sql Server带来的便利,话不多说直接进入主题. 第一步.下载MySQL Community Server,下载地址:https://dev.m ...
- native app、web app、hybrid app、react-native 区别
Native App:指的是原生应用程序,一般依托于操作系统,有很强的交互. 技术:Objective-C Java Native App开发的优点 提供最佳的 户体验 拥有系统级别的通知或提醒 可以 ...
- POJ2584 T-Shirt Gumbo——网络最大流模板
题目:http://poj.org/problem?id=2584 像模板一样的简单题.继续使用 & 的当前弧优化和神奇的构造函数. #include<iostream> #inc ...
- 大快搜索DKhadoop集群管理平台添加节点的步骤说明
Hadoop作为搭建大数据处理平台的重要“基石”,关于它的分析和讲解的文章已经有很多了.Hadoop本身是一分布式的系统,因此在安装的时候,需要多每一个节点进行组建的安装.并且由于是开源软件,其安装过 ...
- C#调用Python脚本的简单示例
C#调用Python脚本的简单示例 分类:Python (2311) (0) 举报 收藏 IronPython是一种在 .NET及 Mono上的 Python实现,由微软的 Jim Huguni ...
- AWS ECU SSH无法连接问题处理
AWS ECU SSH无法连接问题处理,因同事误操作导致/var/empty/sshd目录权限为771,需要修改为711,因AWS只有一台实例,所以需要通过建立临时实例来挂载“卷”来修改/var/ ...