人本善良

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

NPOI Word 多级标题结构设置

NPOI Word 多级标题结构设置

大葡萄八块一斤 2020-07-23 16:08:40 516 收藏
分类专栏: NPOI 文章标签: c#
版权
通过NPOI实现以下功能

 

首先通过Word新建个样式模板,该样式模板包括你想要的几个标题样式,比如我这里就需要三个样式,标题、标题1、标题2

打开Word,新建文档,然后输入内容,更改样式,另存为word模板(*.dotx)

 

完成后就可以写代码了

 

using (var dotStream = new FileStream("template.dotx", FileMode.Open, FileAccess.Read))
{
XWPFDocument template = new XWPFDocument(dotStream);

using (var fileStream = new FileStream("test.docx", FileMode.Create, FileAccess.Write))
{
XWPFDocument document = new XWPFDocument();
XWPFStyles newStyles = document.CreateStyles();
newStyles.SetStyles(template.GetCTStyle());

XWPFParagraph paragraph = document.CreateParagraph();
paragraph.Style = "a3";
XWPFRun xwpfRun = paragraph.CreateRun();
xwpfRun.SetText("标题内容");

XWPFParagraph paragraph1 = document.CreateParagraph();
paragraph1.Style = "1";
XWPFRun xwpfRun1 = paragraph1.CreateRun();
xwpfRun1.SetText("标题1内容");

XWPFParagraph paragraph2 = document.CreateParagraph();
paragraph2.Style = "2";
XWPFRun xwpfRun2 = paragraph2.CreateRun();
xwpfRun2.SetText("标题2内容");

document.Write(fileStream);

document.Close();
}

template.Close();
}
paragraph.Style里这个值,可以通过断点template值找出来

 

 

 

StyleId就是我们要设置的值了,根据Name值区别出我们想要的数据,这里heading 1肯定就是标题1没错了。
————————————————
版权声明:本文为CSDN博主「大葡萄八块一斤」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/chb345536638/article/details/107538971/  

posted on   简简单单2018  阅读(770)  评论(0编辑  收藏  举报

编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
点击右上角即可分享
微信分享提示