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

.Net Core NOPI操作word(一)的更多相关文章

  1. .Net Core NOPI操作word(二) 表格操作

    一.创建表格操作 private void btnExport_Click(object sender, EventArgs e) { var dbcontext = new BlogModel(); ...

  2. C#操作word模板插入文字、图片及表格详细步骤

    c#操作word模板插入文字.图片及表格 1.建立word模板文件 person.dot用书签 标示相关字段的填充位置 2.建立web应用程序 加入Microsoft.Office.Interop.W ...

  3. C#操作Word的辅助类(word2003) 修改完善版

    转自:http://blog.csdn.net/jiutao_tang/article/details/6567608 该类在他人编写的几个类基础上扩展完善而来,主要功能有: (1)插入文本 (2)插 ...

  4. c# 操作Word总结(车)

    在医疗管理系统中为保存患者的体检和治疗记录,方便以后的医生或其他人查看.当把数据保存到数据库中,需要新建很多的字段,而且操作很繁琐,于是想到网页的信息创建到一个word文本中,在显示的时,可以在线打开 ...

  5. c# 操作Word总结【转】

    http://www.cnblogs.com/eye-like/p/4121219.html 在医疗管理系统中为保存患者的体检和治疗记录,方便以后的医生或其他人查看.当把数据保存到数据库中,需要新建很 ...

  6. c# 操作Word总结

    在医疗管理系统中为保存患者的体检和治疗记录,方便以后的医生或其他人查看.当把数据保存到数据库中,需要新建很多的字段,而且操作很繁琐,于是想到网页的信息创建到一个word文本中,在显示的时,可以在线打开 ...

  7. [转] c# 操作Word

    来自 风过四季天 的原文 c# 操作Word总结 在医疗管理系统中为保存患者的体检和治疗记录,方便以后的医生或其他人查看.当把数据保存到数据库中,需要新建很多的字段,而且操作很繁琐,于是想 到网页的信 ...

  8. 操作Word的辅助类(word2003)

    该类在他人编写的几个类基础上扩展完善而来,主要功能有: (1)插入文本 (2)插入图片 (3)插入表格 (4)载入模版 (5)编辑模版,利用标签等 (6)插入页眉页脚 /*************** ...

  9. [转]C#操作word模板插入文字、图片及表格详细步骤

    c#操作word模板插入文字.图片及表格 1.建立word模板文件 person.dot用书签 标示相关字段的填充位置 2.建立web应用程序 加入Microsoft.Office.Interop.W ...

随机推荐

  1. webpack练手项目之easySlide(二):代码分割

    Hello,大家好. 在上一篇 webpack练手项目之easySlide(一):初探webpack  中我们一起为大家介绍了webpack的基本用法,使用webpack对前端代码进行模块化打包. 但 ...

  2. iOS学习——NSLog输出各种类型

    在开发过程中,在调试过程中经常打印不出自己想要的数据格式,还时常报警告,所以整理了一下iOS中用NSLog打印各种数据类型的样式.整型占位符说明 : %d : 十进制整数, 正数无符号, 负数有 “- ...

  3. 使用Hybris commerce的promotion rule进行促销活动

    backoffice Marketing菜单下面,新建一个Promotion rule: Promotion的条件,设置成针对商城里所有的数码相机: Promotion触发条件在Conditions区 ...

  4. tomcat 安装记录 centos7 开放对外端口

    //端口查询 [root@CentOS7 bin]# firewall-cmd --query-port=9090/tcp no //添加端口 [root@CentOS7 bin]# firewall ...

  5. CspParameters 对象已存在异常 解决多应用对同一容器的访问问题

    CspParameters cspParams; cspParams = new CspParameters(PROVIDER_RSA_FULL); cspParams.KeyContainerNam ...

  6. MySQL修炼之路三

    1. SQL查询 1. 执行顺序 3. select ... 聚合函数 from 表名 1. where ... 2. group by ... 4. having ... 5. order by . ...

  7. MySQL Lock--MySQL INSERT加锁学习

    准备测试数据: ## 开启InnoDB Monitor SET GLOBAL innodb_status_output=ON; SET GLOBAL innodb_status_output_lock ...

  8. freebsd xfce桌面安装scim输入法,安装成功。

    前言: 1.没有用handbook推荐的登陆组本地化方法,用的方法2:shell启动文件本地化方法(因为我不知道方法1里一些环境变量该大写还是小写,不想试了). 2.没有用登陆管理器,用xdm登录管理 ...

  9. SQL进阶系列之9用SQL处理数列

    写在前面 关系模型的数据结构里,并没有顺序的概念,但SQL处理有序集合也有坚实的理论基础 生成连续编号 --生成连续编号 CREATE TABLE Digits (digit INTEGER PRIM ...

  10. springboot 2.x整合redis,spring aop实现接口缓存

    pox.xml: <dependency> <groupId>org.springframework.boot</groupId> <artifactId&g ...