NOPI使用方式

1.安装nuget包 即可使用

Install-Package NPOI

一、创建word文档

//创建生成word文档
string path = "D:\\test.docx";
XWPFDocument doc = new XWPFDocument(); // 添加段落
XWPFParagraph gp = doc.CreateParagraph();
gp.Alignment = ParagraphAlignment.CENTER;//水平居中
XWPFRun gr = gp.CreateRun();
gr.GetCTR().AddNewRPr().AddNewRFonts().ascii = "黑体";
gr.GetCTR().AddNewRPr().AddNewRFonts().eastAsia = "黑体";
gr.GetCTR().AddNewRPr().AddNewRFonts().hint = ST_Hint.eastAsia;
gr.GetCTR().AddNewRPr().AddNewSz().val = (ulong);//2号字体
gr.GetCTR().AddNewRPr().AddNewSzCs().val = (ulong);
gr.GetCTR().AddNewRPr().AddNewB().val = true; //加粗
gr.GetCTR().AddNewRPr().AddNewColor().val = "red";//字体颜色
gr.SetText("NPOI创建Word2007Docx"); gp = doc.CreateParagraph();
gr = gp.CreateRun();
CT_RPr rpr = gr.GetCTR().AddNewRPr();
CT_Fonts rfonts = rpr.AddNewRFonts();
rfonts.ascii = "宋体";
rfonts.eastAsia = "宋体";
rpr.AddNewSz().val = (ulong);//5号字体
rpr.AddNewSzCs().val = (ulong);
gr.SetText("NPOI,顾名思义,就是POI的.NET版本。那POI又是什么呢?POI是一套用Java写成的库,能够帮助开 发者在没有安装微软Office的情况下读写Office 97-2003的文件,支持的文件格式包括xls, doc, ppt等 。目前POI的稳定版本中支持Excel文件格式(xls和xlsx),其他的都属于不稳定版本(放在poi的scrachpad目录 中)。");
gp = doc.CreateParagraph(); //添加表格
XWPFTable table = doc.CreateTable(, );//创建一行4列表
CT_Tbl m_CTTbl = doc.Document.body.GetTblArray()[];//获得文档第一张表
CT_TblPr m_CTTblPr = m_CTTbl.AddNewTblPr();
m_CTTblPr.AddNewTblW().w = ""; //表宽
m_CTTblPr.AddNewTblW().type = ST_TblWidth.dxa;
m_CTTblPr.tblpPr = new CT_TblPPr();//表定位
m_CTTblPr.tblpPr.tblpX = "";//表左上角坐标
m_CTTblPr.tblpPr.tblpY = "";
m_CTTblPr.tblpPr.tblpXSpec = ST_XAlign.center;//若不为“Null”,则优先tblpX,即表由tblpXSpec定位
m_CTTblPr.tblpPr.tblpYSpec = ST_YAlign.center;//若不为“Null”,则优先tblpY,即表由tblpYSpec定位
m_CTTblPr.tblpPr.leftFromText = (ulong);
m_CTTblPr.tblpPr.rightFromText = (ulong);
m_CTTblPr.tblpPr.vertAnchor = ST_VAnchor.text;
m_CTTblPr.tblpPr.horzAnchor = ST_HAnchor.page;
//表1行4列充值:a,b,c,d
table.GetRow().GetCell().SetText("a");
table.GetRow().GetCell().SetText("b");
table.GetRow().GetCell().SetText("c");
table.GetRow().GetCell().SetText("d");
CT_Row m_NewRow = new CT_Row();//创建1行
XWPFTableRow m_Row = new XWPFTableRow(m_NewRow, table);
table.AddRow(m_Row); //必须要!!! XWPFTableCell cell = m_Row.CreateCell();//创建单元格,也创建了一个CT_P
CT_Tc cttc = cell.GetCTTc();
CT_TcPr ctPr = cttc.AddNewTcPr();
//ctPr.gridSpan.val = "3";//合并3列
cttc.GetPList()[].AddNewPPr().AddNewJc().val = ST_Jc.center;
cttc.GetPList()[].AddNewR().AddNewT().Value = "";
cell = m_Row.CreateCell();//创建单元格,也创建了一个CT_P
cell.GetCTTc().GetPList()[].AddNewPPr().AddNewJc().val = ST_Jc.center;
cell.GetCTTc().GetPList()[].AddNewR().AddNewT().Value = "e"; using (FileStream fs = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Write))
{
doc.Write(fs);
Console.WriteLine("生成word成功");
}

生成word内容如下:

更多参考:

.Net Excel操作之NPOI(二)常用操作封装

.Net Excel操作之NPOI(一)简介

https://blog.csdn.net/qq_35534449/article/details/79205468

https://blog.csdn.net/qq_32109957/article/details/86577938

最新文章

  1. Devexpress Ribbon
  2. ORACLE回收站机制介绍
  3. Spring MVC拦截器+注解方式实现防止表单重复提交
  4. (三)CMS Collector
  5. Oracle_下载地址
  6. phpcms二级菜单
  7. C#.NET开发ActiveX控件
  8. 【转】android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创)
  9. 【转载】架构师需要了解的Paxos原理、历程及实战
  10. LinkedHasMap实现原理
  11. C++ string实现原理
  12. 如何A掉未来程序改
  13. Android Notification setLatestEventInfo方法已废弃
  14. 从JDK源码角度看并发竞争的超时
  15. Elasticsearch先聚合再按时间排序返回需要的字段
  16. SpringBoot 2.x.x会拦截静态资源问题
  17. Loadrunner 运行场景-场景中的全局变量与关联结果参数
  18. Study 8 —— 行块元素及定位
  19. Ubuntu 16.04 64位安装arm-linux-gcc交叉编译器以及samba服务器
  20. LG4454 【[CQOI2018]破解D-H协议】

热门文章

  1. iOS OpenCV资料收集
  2. C/C++ 关于数组和指针的总结
  3. [LeetCode] 538. 把二叉搜索树转换为累加树 ☆(中序遍历变形)
  4. scrapy 写文件进行debug调试
  5. PHP、JS 中 encode/decode
  6. ajax请求处理概要
  7. 【Django2.0】python manage.py makemigrations 和 python manage.py migrate的区别
  8. 你真的理解CountDownLatch与CyclicBarrier使用场景吗?
  9. pycharm下site-packages文件标记为红的问题;pycharm无法识别本地site-packages问题
  10. 07. vue-router嵌套路由