POI 写word2007时,如何设置目录结构(标题)?

oh_Maxy 2015-05-31 03:57:24
加精

通过下面的方式写入的都是正文文本:

void writeText2Word(String text, XWPFDocument doc) {
XWPFParagraph para = doc.createParagraph();
XWPFRun run = para.createRun();
run.setText(text);
}


如何改造,才能让它写的是一个标题?就是目录里会显示的那种?
再进一步:如何设置成一级标题?二级标题?并且保证其序号正确?
如:
1. 第一课
1.1 第一节
...
2. 第二课
2.1 第一节
...

当然,前面的标题用数字或者中文都可以,甚至不用也行,只要目录层级关系对了就好。
求高手出现啊!


--------------------------------------------------------------------------------------------------------------------
最终问题解决了,写了篇总结性的博文,供大家参考:POI操作word2010实现多级标题结构
...全文
8931 32 打赏 收藏 转发到动态 举报
写回复
用AI写文章
32 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jinbo-Yu1992 2018-02-06
  • 打赏
  • 举报
回复
楼主,想问下您导出的word文档可以生成目录结构吗??
qq_32217411 2016-10-09
  • 打赏
  • 举报
回复
private ActiveXComponent word;
// 所有word文档集合
private Dispatch selection;
// 选定的范围或插入点
/**
* 插入标题
* @param num 标题编号
* @param level 标题级别:-2:一级标题;-3:二级标题;-4:三级标题;-5:四级标题
* @param text 标题题目
*/
public void insertTitle(String num, int level, String text) {
Dispatch activeDocument = Dispatch.get(word, "ActiveDocument").toDispatch();

//Dispatch.call(selection, "TypeParagraph");// 插入一个空行
//moveDown(1);
// Dispatch.put(selection, "Text", num + " " + text);
Dispatch.put(selection, "Text", text);
Dispatch style = Dispatch.call(activeDocument, "Styles", new Variant(level)).toDispatch();;
Dispatch.put(selection, "Style", style);
moveRight(1);
Dispatch.call(selection, "TypeParagraph");// 插入一个空行
//moveDown(1);
}
贴一段代码把,设置标题
qq_32217411 2016-10-09
  • 打赏
  • 举报
回复
用jaboc完美解决
mypokemonjj 2016-09-14
  • 打赏
  • 举报
回复
不知道看看~
EnhengQ 2016-08-23
  • 打赏
  • 举报
回复
pageoffice插件就是操作office文件的,可以丝丝啦
lujiaxing2007 2015-08-16
  • 打赏
  • 举报
回复
看到 poi 我就滚进来了.
程序员鼓励师 2015-06-22
  • 打赏
  • 举报
回复
学习[b][/b]
oh_Maxy 2015-06-16
  • 打赏
  • 举报
回复
引用 4 楼 qq_28571339 的回复:
请问楼主的问题解决了么?求教?
引用 16 楼 shijing266 的回复:
引用 8 楼 rui888 的回复:
问题已解决,实现方法参考 博客
  • 打赏
  • 举报
回复
引用 24 楼 oh_Maxy 的回复:
问题已解决,实现方法参考 博客
嗦嘎! 一颗所~
  • 打赏
  • 举报
回复
引用 22 楼 oh_Maxy 的回复:
头疼啊。。
我是没找到类似的方法
oh_Maxy 2015-06-08
  • 打赏
  • 举报
回复
引用 19 楼 shijing266 的回复:
[quote=引用 8 楼 rui888 的回复:] 这个可以不‘/?
好吧,这个是国外的吧,我打不开 没代理[/quote]
引用 21 楼 u010481036 的回复:
这个还真不会呢
头疼啊。。
Sammo 2015-06-08
  • 打赏
  • 举报
回复
这个还真不会呢
足球中国 2015-06-06
  • 打赏
  • 举报
回复
Hello World, 2015-06-05
  • 打赏
  • 举报
回复
直接写入html代码: <h1>xxxxx</h1> <h2>xxxxx</h2> <h3>xxxxx</h3>
  • 打赏
  • 举报
回复
引用 8 楼 rui888 的回复:
这个可以不‘/?
好吧,这个是国外的吧,我打不开 没代理
  • 打赏
  • 举报
回复
引用 17 楼 oh_Maxy 的回复:
[quote=引用 16 楼 shijing266 的回复:] 怎么感觉就跟权限菜单一样,展示几级菜单的那种 可以通过数据表实现啊
word文本和标题是不一样的,标题会在大纲视图里看到。 现在是不知道大纲里的标题,怎么用POI实现。。[/quote] 我知道你的意思了,实现那个 文档结构图的那种是吧,这个有点难
oh_Maxy 2015-06-05
  • 打赏
  • 举报
回复
引用 16 楼 shijing266 的回复:
怎么感觉就跟权限菜单一样,展示几级菜单的那种 可以通过数据表实现啊
word文本和标题是不一样的,标题会在大纲视图里看到。 现在是不知道大纲里的标题,怎么用POI实现。。
  • 打赏
  • 举报
回复
怎么感觉就跟权限菜单一样,展示几级菜单的那种 可以通过数据表实现啊
xia852003364 2015-06-05
  • 打赏
  • 举报
回复
cattpon 2015-06-03
  • 打赏
  • 举报
回复
不知道看看~
加载更多回复(11)

67,549

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧