乔山办公网我们一直在努力
您的位置:乔山办公网 > word文档 > java<em>动态生成word</em>-动态生成word,在word里面如何生成目录

java<em>动态生成word</em>-动态生成word,在word里面如何生成目录

作者:乔山办公网日期:

返回目录:word文档


首先,通过xml模板可以将基本上所有的格式都事先锁定,包括页码和分页,只要你事先预设好就能够通过freemarker实现生成,
接下来就是我这个问题了,目录怎么解决,下面是解决思路:
1:目录的内容可以根据之前其他的内容一样解决,通过XML模板预先设置好,
2:目录的页码已经研究过是不能直接通过xml模板实现动态对应了(至少我没搞定0.0)
3:由于不能够一步到位,我采取了在模板中预留了一页空白页,只留了抬头的目录两个字,然后通过查询目录二字进行目录的生成,

这个功能也是我刚刚折腾出来的0.0目前还没测试能不能用模板生成目录后再更新目录0.0,不过想想可以直接生成目录应该就不用这么麻烦了,至于word生成后的修改0.0我觉得还是以后再说吧.....
整体来说应该还算完美解决了,代码我就不在这贴出来了~
虽然中间折腾了半天走了半天弯路~
讲道理还是用的jacob来实现的。。

建议你参考下pageoffice。网上搜有很多他的示例代码的。
WORD自动生成目录图解教程

用WORD自动生成目录不但快捷,而且阅读查找内容时也很方便,只是按住Ctrl点击目录中的某一章节就会直接跳转到该页,更重要的是便于今后修改,因为写完的文章难免多次修改,增加或删减内容。倘若用手工给目录标页,中间内容一改,后面页码全要改是一件很让人头痛的事情。如果用WORD自动生成目录,你可以任意修改文章内容,最后更新一下目录就会重新把目录对应到相应的页码上去。

WORD自动生成目录教程

假如文章中标题e79fa5e98193e4b893e5b19e332格式为

第一节……大标题(一级)

1.1……小标题(二级)

1.1.1—……小标题下的小标题(三级)

……

第N节……大标题(一级)

n.1……小标题(二级)

n.1.1—……小标题下的小标题(三级)

自动生成文章目录的操作:

一、设置标题格式

1.选中文章中的所有一级标题;

2.在“格式”工具栏的左端,“样式”列表中单击“标题1”。

仿照步骤1、2设置二、三级标题格式为标题2、标题3。

二、自动生成目录

1.把光标定位到文章第1页的首行第1个字符左侧(目录应在文章的前面);

2.执行菜单命令“插入/引用/索引和目录”打开“索引的目录”对话框;

3.在对话框中单击“目录”选项卡,进行相关设置后,单击“确定”按钮,文章的目录自动生成完成。

友情提示:

目录页码应该与正文页码编码不同。

把光标定位在目录页末,执行“插入/分隔符/下一页/确定”操作,在目录与正文之间插入分页符;

执行“视图/页眉和页脚”命令,把光标定位到正文首页的页脚处,单击“页眉和页脚”工具栏上的“链接到前一个”按钮正文页脚与目录页脚的链接;

执行“插入/页码”命令,在“格式”中选择页码格式、选中“起始页码”为“1”,单击“确定。

至此完成正文的页码插入。

目录如果是多页,插入页码时可以选择与正文页码不同的页码格式。当然,如果目录只有一页,没有必要插入页码。

如果没看懂可以看下面图文教程

步骤:(以下内容在WORD2003中操作,其它版本WORD略有差别,但大同小异。)

1.在[格式]中选[样式与格式]

2.出现右边的一条“样式格式”栏,这里面主要就是用到标题1,标题2,标题3。把标题1,标题2,标题3分别应用到文中各个章节的标题上。例如:文中的“第一章 制冷概论”我们就需要用标题1定义。而“1.1制冷技术的发展历史”就用标题2定义。如果有1.1.1×××那就用标题3来定义。

3.当然标题1,标题2,标题3的属性(如字体大小,居中,加粗,等等)可以自行修改的。修改方法:右键点击“标题1”选“修改”,会弹出修改菜单,您可以根据自己的要求自行修改

4.用标题1,2,3分别去定义文中的每一章节。定义时很方便,只要把光标点到“第一章 制冷概论”上,然后用鼠标左键点一下右边的标题1,就定义好了;同样方法用标题2,3定义1.1;1.1.1;依此类推,第二章,第三章也这样定义,直到全文节尾。

5.当都定义好后,我们就可以生成目录了。把光标移到文章最开头你要插入目录的空白位置,选[插入]--[引用]--[索引和目录]

6.选第二个选项卡[目录],然后点右下的确定。就OK了。

上图就是自动生成的目录

7.当你重新修改文章内容后,你需要更新一下目录,方法是:在目录区域内,点右键,选[更新域]

8.当选[更新域]后,会出现上图的选框,选第二个“更新整个目录”点确定。就OK了


阅读目录

1. 制作 Word 模版,将你需要动态生成的字段用${}替换。
2. 将 Word文档保存为 xml 。
3. 引入项目。


项目中需要用 java 程序生成doc 文件,百度一番,发现FreeMarker 的评e799bee5baa6e58685e5aeb9361价比较高。

FreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出,至于想详细了解 FreeMarker 的请自行百度。

  1. 制作 Word 模版,将你需要动态生成的字段用${}替换。如:${name}、${age}

  2. 将 Word文档保存为 xml。

  3. 引入项目。将 xml 文件更改后缀名 为 .ftl, 然后引用到你的项目中。

  4. 需要注意的问题:
    a. word 版本不能低于 2003 ,因为 2003 才开始支持 xml。

  5. 备注:

    a. template.process(),接受一个 Map 和 输入流做为入参,Map 既是你需要动态生成到 doc 里面的数据,字段名必须与你在 .ftl 里面定义的一致;

    b. 如果你想利用这段代码,需要有一个 .ftl 文件,并且在你的项目 src 目录下面新建 template 目录;

    c.辅助文件"FreeMarker.jar 、实例项目的.ftl "。

相关阅读

关键词不能为空
极力推荐
  • <em>word2010</em>中<em>制表位</em>怎么使用-w

  • 将第一处公式排版后,选中该公式段落,在样式中选中新建样式,并将该样式命名为论文公式,然后文章中所有的公式都应用 论文公式 样式即可,这样就不用每处都排版了word2010 制表位

ppt怎么做_excel表格制作_office365_word文档_365办公网