NPOI在Word中的简单用法汇总
欢迎您成为我的读者,希望这篇文章能给你一些帮助。
前言
今天这篇文章,咱们来看看使用NPOI操作Word都有哪些方法。
软谋的.NET全套架构视频,大多视频包含源码,录制时间(初中级是2019~2020高级架构是2020~2021),原价6499,现仅需299元。这个活动周三推出后,受到热捧,仅一个技术群就几十人抢购!最后几天活动,目录和介绍:点击下方超链接查看 太牛了!三天时间几百人加我咨询这份.NET架构视频 需要的加微zls20210502,进技术群的加微mm1552923,备注进群 |
对于Word文件,前天的文章介绍了要生成一个Word文件需要 五步。
1、初始化文档类XWPFDocument;
2、场景主标题段落
3、自定义内容
4、创建页脚
5、写入文件
创建文档
文档在NPOI用XWPFDocument类进行操作,首先需要实例化一个XWPFDocument类,用于后期生成文档类的操作。
XWPFDocument m_Docx = new XWPFDocument();
页面设置
实例化好之后需要对Word文档进行设置,主要设置其显示像素,页面的大小等。
CT_SectPr m_SectPr = newCT_SectPr();//页面设置A4横向m_SectPr.pgSz.w = (ulong)16838;m_SectPr.pgSz.h = (ulong)11906;m_Docx.Document.body.sectPr = m_SectPr;
创建段落
对于Word文档的操作都是在文档中段落里面完成的。比如我想新建一行文字,就必须先创建段落,后在段落中进行文字的添加,往Word文档中添加表格和图片也是同样的道理。
//创建段落对象
XWPFParagraph p1 = m_Docx .CreateParagraph();
创建表格
XWPFTable oneTable = m_Docx.CreateTable(6, 5);
oneTable.Width = 1000 * 5;/* 设置列宽 */
oneTable.SetColumnWidth(0, 200);
oneTable.SetColumnWidth(1, 300);
oneTable.GetRow(0).GetCell(0).SetParagraph(SetCellText(doc, tableTop, "测试"));
样式设置
1、段落居中显示
//字体居中
p1.Alignment = ParagraphAlignment.CENTER;
2、文字加粗
XWPFRun runTitle = p1.CreateRun();
runTitle.IsBold = true;
runTitle.SetText("测试");
runTitle.FontSize = 16;
runTitle.SetFontFamily("宋体", FontCharRange.None);//设置雅黑字体
3、设置单元格样式
CT_P para = new CT_P();
XWPFParagraph pCell = new XWPFParagraph(para, table.Body);
pCell.Alignment = align;/字体设置
XWPFRun r1c1 = pCell.CreateRun();
r1c1.SetText(setText);
r1c1.FontSize = 11;
r1c1.SetFontFamily("宋体", FontCharRange.None);
//设置高度
r1c1.SetTextPosition(textPos);
4、段行缩进
gp.IndentationFirstLine=(int)100;
5、行距设置
单倍为默认值(240twip)不需设置
1.5倍=240X1.5=360twip
2倍=240X2=480twip
m_p.AddNewPPr().AddNewSpacing().line = "400";//行距固定20磅m_p.AddNewPPr().AddNewSpacing().lineRule= ST_LineSpacingRule.exact;
6、行高设置
m_Row.GetCTRow().AddNewTrPr().AddNewTrHeight().val= (ulong)426;
m_NewRow.AddNewTrPr().AddNewTrHeight().val= (ulong)426;
7、添加脚注内容
其实脚注内容就是之前格式的反复利用。
int Id =m_ftns.GetFootnotesList().Count;CT_FtnEdn m_ftnedn = new CT_FtnEdn();m_ftnedn.id = Id.ToString();CT_P m_FtnEdnxmlP =m_ftnedn.AddNewP();CT_PPr m_FtnEdnxmlPPr =m_FtnEdnxmlP.AddNewPPr();m_FtnEdnxmlPPr.AddNewPStyle().val = "a6";m_FtnEdnxmlPPr.AddNewRPr().rFonts = new CT_Fonts();m_FtnEdnxmlPPr.AddNewRPr().rFonts.hint = ST_Hint.eastAsia;CT_R m_FtnEdnxmlR =m_FtnEdnxmlP.AddNewR();m_FtnEdnxmlR.AddNewRPr().rStyle = new CT_String();m_FtnEdnxmlR.AddNewRPr().rStyle.val = "a7";m_FtnEdnxmlR.Items = newSystem.Collections.ArrayList();m_FtnEdnxmlR.Items.Add(new CT_Empty());m_FtnEdnxmlR.ItemsElementName = new List<RunItemsChoiceType>();m_FtnEdnxmlR.ItemsElementName.Add(RunItemsChoiceType.footnoteRef);m_FtnEdnxmlR = m_FtnEdnxmlP.AddNewR();m_FtnEdnxmlR.AddNewT().Value = " ";m_FtnEdnxmlR = m_FtnEdnxmlP.AddNewR();m_FtnEdnxmlR.AddNewT().Value = strFtnEdn; //"脚注test内容XWPFFootnotem_fn = m_ftns.AddFootnote(m_ftnedn);
寄语
人生短暂,我不想去追求自己看不见的,我只想抓住我能看得见的。
原创不易,给个关注。
NPOI在Word中的简单用法汇总相关推荐
- NPOI在Excel中的简单用法汇总
欢迎您成为我的读者,希望这篇文章能给你一些帮助. 前言 前两天和大家一起了解了在C#中利用NPOI操作Excel和word文件的方法,只是简单的介绍了它是如何导出Excel文件和Word文件的,今天咱 ...
- Python中yield简单用法
Python中yield简单用法 你或许知道带有yield的函数在Python中被称之为generator,那何为 generator? 我们暂时抛开generator,先从一个常见编程题目开始,循序 ...
- php dropdownlist,Yii2中DropDownList简单用法示例
本文实例讲述了Yii2中DropDownList简单用法.分享给大家供大家参考,具体如下: 这里以实际应用为例讲解Yii2 DropDownList用法. 有一张分类表,无限极分类那种,表结构如下,p ...
- 五分钟理解yield在python中的简单用法,让你不再迷惑
很多同学无论是在学习python还是使用python的过程中,都会遇到yield关键字,这个让人头大的问题,今天,就给大家分享一下我自学yield的心路历程 基本概念: (1)在 Python 中,使 ...
- 如何优雅的在word中插入代码-方法汇总
方法一:借助转换网站(强烈推荐) 参考知乎讨论 https://www.zhihu.com/question/31544667 网站截图 高亮代码效果图: 方法二:用word自带样式 (所用模板文件下 ...
- FFmpeg中可执行文件ffplay用法汇总
从https://ffbinaries.com/downloads 下载最新的4.1版本的windows 64位FFplay.目前linux下的只有3.2版本的.FFplay是一个由FFmpeg和SD ...
- C#中DllImport使用法汇总
(转) 最近使用DllImport,从网上百度后发现,大部分内容都是相同,又从MSDN中搜集下,现将内容汇总,与大家分享. 大家在实际工作学习C#的时候,可能会问:为什么我们要为一些已经存在的功能(比 ...
- FFmpeg中可执行文件ffmpeg用法汇总
从https://ffbinaries.com/downloads 下载最新的4.1版本的Windows 64位FFmpeg,FFmpeg是一个快速的音频/视频转换工具,FFmpeg可以作为一个命令行 ...
- FFmpeg中可执行文件ffprobe用法汇总
从https://ffbinaries.com/downloads 下载最新的4.1版本的Windows 64位FFprobe,FFprobe用于从多媒体流中获取相关信息或查看文件格式信息,并以可读的 ...
最新文章
- mysql5.7下载与安装,php5.6与mysql5.7整合
- 一步步编写操作系统 66 浅析c库函数与系统调用1
- java压缩/解压缩zip格式文件
- 观电影《头号玩家》有感
- IM 即时通讯实现原理
- 真实评测 i3 1115G4和i7 1165G7选哪个
- 知道路径,如何下载服务器端的.frx文件
- python求平方值,python – 字典的平方值
- Win11C盘扩容详细教程
- 1叉叉加速器分析_加速分析
- Redux Reducer
- HillTop (LocalScore) 算法
- 赛尔号桌面版_赛尔号最新版电脑版下载 赛尔号最新版安卓版下载
- 2022年湖北省文化产业示范园(基地)发展专项资金申报条件以及奖励补贴情况!
- [Pytorch]将自己的数据集载入dataloader
- 这几款真香旗舰机,买到就是赚到,有你入手了的吗?
- iMovie剪辑技巧一
- 数据库系统概论(第5版)学习笔记 第0章——走进数据库系统
- TCP协议和UCP协议的异同
- 【typeorm】typeorm学习笔记(一)
热门文章
- Unity打包安卓如何存储本地游戏数据?
- vue-aplayer
- 智哪儿专访:小匠物联如何帮助颈部按摩仪品类完成智能化升级
- OpenCV计算机视觉学习(1)——图像基本操作(图像视频读取,ROI区域截取,常用cv函数解释)
- android项目之RRS阅读器
- 使用Siri玩转苹果设备
- python matplotlib画多个图_python matplotlib模块 如何画两张图出来
- DeepFashion实现服装检测搭配
- 3d打印英语文献_Composites Part B:控制切片参数对3D打印连续亚麻/聚乳酸生物复合材料力学性能的影响...
- db2安装完成之后如何创建db2的SAMPLE数据库