freemarker 导出word 文档 怎么写
将要导出的Word另存为xml格式的文件,打开xml 在其中添加freemarker标签,然后另存为outChairDoc.ftl文件.第一步要加入Freemarker.jar包。
Servlet代码如下:在outChairDoc.ftl放在包cn.skyclass.jiaowu.freemarker.template下public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { configuration = new Configuration(); configuration.setDefaultEncoding("utf-8"); try { createDoc(response); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }}public void createDoc(HttpServletResponse response) throws Exception {// 要填入模本的数据文件 Map dataMap = new HashMap(); dataMap.put("docTitle", "fdfdfdfdfdfdf用户信息"); List list = new ArrayList(); ChairInfo chairInfo = new ChairInfo(); chairInfo.setChairTitle("dfdfd"); chairInfo.setTeacherName("tea"); chairInfo.setStartTime(new Date()); chairInfo.setPlace("dfdfd"); list.add(chairInfo); dataMap.put("chairInfoList", list); // 设置模本装置方法和路径,FreeMarker支持多种模板装载方法。可以重servlet,classpath,数据库装载,// 这里我们的模板是放在com.havenliu.document.template包下面configuration.setClassForTemplateLoading(this.getClass(),"/cn/skyclass/jiaowu/freemarker/template");Template t = null;try {// test.ftl为要装载的模板 t = configuration.getTemplate("outChairDoc.ftl"); t.setEncoding("utf-8"); } catch (IOException e) {e.printStackTrace();}// 输出文档路径及名称 String fileName="讲座列表.doc"; response.setContentType("application/msword"); response.addHeader("Content-Disposition", "attachment; filename=" + java.net.URLEncoder.encode(fileName, "UTF-8"));//可防止导出的文件乱码response.setCharacterEncoding("utf-8");PrintWriter out = response.getWriter();t.process(dataMap, out);out.close();}。
为什么 freemarker 生成的word openoffice 打不开
1.问:WORD里边怎样设置每页不同的页眉?如何使不同的章节显示的页眉不同? 答:分节,每节可以设置不同的页眉。
文件——页面设置——版式——页眉和页脚——首页不同 2.问:请问word中怎样让每一章用不同的页眉?怎么我现在只能用一个页眉,一改就全部改了?答:在插入分隔符里,选插入分节符,可以选连续的那个,然后下一页改页眉前,按一下“同前”钮,再做的改动就不影响前面的了。简言之,分节符使得它们独立了。
这个工具栏上的“同前”按钮就显示在工具栏上,不过是图标的形式,把光标移到上面就显示出”同前“两个字来了 3.问:如何合并两个WORD文档,不同的页眉需要先写两个文件,然后合并,如何做?答:页眉设置中,选择奇偶页不同/与前不同等选项 4.问:WORD编辑页眉设置,如何实现奇偶页不同? 比如:单页浙江大学学位论文,这一个容易设;双页:(每章标题),这一个有什么技巧啊 ?答:插入节分隔符,与前节设置相同去掉,再设置奇偶页不同 5.问:怎样使WORD文档只有第一页没有页眉,页脚?答:页面设置-页眉和页脚,选首页不同,然后选中首页页眉中的小箭头,格式-边框和底纹,选择无,这个只要在“视图”——“页眉页脚”,其中的页面设置里,不要整个文档,就可以看到一个“同前”的标志,不选,前后的设置情况就不同了。 6.问:如何从第三页起设置页眉?答:在第二页末插入分节符,在第三页的页眉格式中去掉同前节,如果第一、二页还有页眉,把它设置成正文就可以了 ●在新建文档中,菜单—视图—页脚—插入页码—页码格式—起始页码为0,确定; ●菜单—文件—页面设置—版式—首页不同,确定; ●将光标放到第一页末,菜单—文件—页面设置—版式—首页不同—应用于插入点之后,确定。
第2步与第三步差别在于第2步应用于整篇文档,第3步应用于插入点之后。这样,做两次首页不同以后,页码从第三页开始从1编号,完成。
7.问:WORD页眉自动出现一根直线,请问怎么处理?答:格式从“页眉”改为“清除格式”,就在“格式”快捷工具栏最左边;选中页眉文字和箭头,格式-边框和底纹-设置选无 8.问:页眉一般是---------,上面写上题目或者其它,想做的是把这根线变为双线,WORD中修改页眉的那根线怎么改成双线的?答:按以下步骤操作去做: ●选中页眉的文字,包括最后面的箭头 ●格式-边框和底纹 ●选线性为双线的 ●在预览里,点击左下小方块,预览的图形会出现双线 ●确定▲上面和下面自己可以设置,点击在预览周围的四个小方块,页眉线就可以在不同的位置 9.问:Word中的脚注如何删除?把正文相应的符号删除,内容可以删除,但最后那个格式还在,应该怎么办?答:步骤如下:1、切换到普通视图,菜单中“视图”——“脚注”,这时最下方出现了尾注的编辑栏。2、在尾注的下拉菜单中选择“尾注分隔符”,这时那条短横线出现了,选中它,删除。
3、再在下拉菜单中选择“尾注延续分隔符”,这是那条长横线出现了,选中它,删除。4、切换回到页面视图,尾注和脚注应该都是一样的 10.问:Word 里面有没有自动断词得功能?常常有得单词太长了,如果能设置一下自动断词就好了答:在工具—语言—断字—自动断字,勾上,word还是很强大的 11.问:如何将word文档里的繁体字改为简化字?答:工具—语言—中文简繁转换 12.问:怎样微调WORD表格线?WORD表格上下竖线不能对齐,用鼠标拖动其中一条线,可是一拖就跑老远,想微调表格竖线让上下对齐,请问该怎么办?答:选定上下两个单元格,然后指定其宽度就可以对齐了,再怎么拉都行press "Alt",打开绘图,其中有个调整坐标线,单击,将其中水平间距与垂直间距都调到最小值即可。
打开绘图,然后在左下脚的绘图网格里设置,把水平和垂直间距设置得最小。 13.问:怎样微调word表格线?我的word表格上下竖线不能对齐,用鼠标拖动其中一条线,可是一拖就跑老远,我想微调表格竖线让上下对齐,请问该怎么办? 答:可以如下操作:●按住ctl键还是shift,你have a try ●double click the line, try it ●打开绘图,设置一下网格(在左下角)。
使水平和垂直都为最小,试一把! ●press "Alt" 14.问:怎么把word文档里已经有的分页符去掉?答:先在工具——> 选项——> 视图——> 格式标记,选中全部,然后就能够看到分页符,delete就ok了。 15.问:Word中下标的大小可以改的吗?答:格式—字体 16.问:Word里怎么自动生成目录啊?答:用“格式>>样式和格式”编辑文章中的小标题,然后插入->索引和目录 17.问:Word的文档结构图能否整个复制? 论文要写目录了,不想再照着文档结构图输入一遍,有办法复制粘贴过来吗?答:可以自动生成的,插入索引目录。
18.问:做目录的时候有什么办法时右边的页码对齐?比如: 1.1 标题。
.1 1.2 标题。
.2答:画表格,然后把页码都放到一个格子里靠右或居中,然后让表格的线条消隐就可以了,打印出来就很整齐。 19.问:怎样在word中将所有大写字母转为小写?比如一句全大写的转为全小写的答:格式->更改大小写->小写 20.问:在存。
如何用freemarker动态生成word目录
首先,通过xml模板可以将基本上所有的格式都事先锁定,包括页码和分页,只要你事先预设好就能够通过freemarker实现生成,
接下来就是我这个问题了,目录怎么解决,下面是解决思路:
1:目录的内容可以根据之前其他的内容一样解决,通过XML模板预先设置好,
2:目录的页码已经研究过是不能直接通过xml模板实现动态对应了(至少我没搞定0.0)
3:由于不能够一步到位,我采取了在模板中预留了一页空白页,只留了抬头的目录两个字,然后通过查询目录二字进行目录的生成,
这个功能也是我刚刚折腾出来的0.0目前还没测试能不能用模板生成目录后再更新目录0.0,不过想想可以直接生成目录应该就不用这么麻烦了,至于word生成后的修改0.0我觉得还是以后再说吧。..
整体来说应该还算完美解决了,代码我就不在这贴出来了~
虽然中间折腾了半天走了半天弯路~
讲道理还是用的jacob来实现的。
java freemarker引擎 导出word文档
要生成的数据,在java后台必须是用Map格式,这个你检查一下有没有问题。如果有list,也要放到map里面去。
HashMapdataMap = new HashMap();
Configuration conf = new Configuration();
Template t = conf.getTemplate(fileName);
File docFile = new File(filePath + "/" + docName);
out = new OutputStreamWriter(new FileOutputStream(docFile), "UTF-8");
t.process(dataMap, out);
Freemarker生成word一个表格,数据是动态的
word表格里的自动换行,可按以下步骤操作:1、点击word工具栏里的“表格”:2、在下拉菜单中选择“表格属性”:3、在“表格属性”中单击最右边的“单元格”,然后单击下面的“选项”:4、单击“自动换行”前面的对号,选择“适应文字”:5、点击“确定”退出设置。
另外,在word里,不管是否在表格里,强制换行都是按键盘上的“shift”+“enter”。附加说明:1、强制换行的含义是另起一行,但是和上一行的文字还是同一段。
如果设置了首行缩进的格式,则除了第一行缩进外,第二行及后面的行仍然顶格显示。2、如果直接按“enter”键,也能达到换行的效果,但含义是另外一个段落了。
java中用freemarker生成word文档时&字符出错,生成的word文档提示
用freemarker生成的word,在xml和html中如果包含下面这些特殊字符,就按后面的提示在Java代码中用replace()方法替换掉:
替换为>
??&;替换为&
??"替换为"
??'替换为'
如:替换&;符号:
map.put("MaterialScience", point.getMaterialScience().replace("&", "&"));
就可以了。
我是看了你的问题自己研究了小一个小时解决的,希望楼主问题解决了可以采纳。
刚开始玩"知道",不太会弄 ^_^
转载请注明出处51数据库 » wordfreemarker