如何用freemarker动态生成word目录
首先,通过xml模板可以将基本上所有的格式都事先锁定,包括页码和分页,只要你事先预设好就能够通过freemarker实现生成,接下来就是我这个问题了,目录怎么解决,下面是解决思路:1:目录的内容可以根据之前其他的内容一样解决,通过XML模板预先设置好,2:目录的页码已经研究过是不能直接通过xml模板实现动态对应了(至少我没搞定0.0)3:由于不能够一步到位,我采取了在模板中预留了一页空白页,只留了抬头的目录两个字,然后通过查询目录二字进行目录的生成,这个功能也是我刚刚折腾出来的0.0目前还没测试能不能用模板生成目录后再更新目录0.0,不过想想可以直接生成目录应该就不用这么麻烦了,至于word生成后的修改0.0我觉得还是以后再说吧.....整体来说应该还算完美解决了,代码我就不在这贴出来了~虽然中间折腾了半天走了半天弯路~讲道理还是用的jacob来实现的。
。
怎么用freemarker生成的word文档需要另存为一下poi才能读
Jacob解决Word文档的读写问题收藏Jacob是Java-COMBridge的缩写,它在Java与微软的COM组件之间构建一座桥梁。
使用Jacob自带的DLL动态链接库,并通过JNI的方式实现了在Java平台上对COM程序的调用。
Jacob下载的地址为:.Variant;publicclassWordOperate{publicstaticvoidmain(Stringargs[]){ActiveXComponentwordApp=newActiveXComponent("Word.Application");//启动word//Setthevisiblepropertyasrequired.Dispatch.put(wordApp,"Visible",newVariant(true));////设置word可见Dispatchdocs=wordApp.getProperty("Documents").toDispatch();//StringinFile="d:\\test.doc";//Dispatchdoc=Dispatch.invoke(docs,"Open",Dispatch.Method,//newObject[]{inFile,newVariant(false),newVariant(false)},//参数3,false:可写,true:只读//newint[1]).toDispatch();//打开文档Dispatchdocument=Dispatch.call(docs,"Add").toDispatch();//createnewdocumentStringuserName=wordApp.getPropertyAsString("Username");//显示用户信息System.out.println("用户名:"+userName);//文档对齐,字体设置////////////////////////Dispatchselection=Dispatch.get(wordApp,"Selection").toDispatch();Dispatchalign=Dispatch.get(selection,"ParagraphFormat").toDispatch();//行列格式化需要的对象Dispatchfont=Dispatch.get(selection,"Font").toDispatch();//字型格式化需要的对象//标题处理////////////////////////Dispatch.put(align,"Alignment","1");//1:置中2:靠右3:靠左Dispatch.put(font,"Bold","1");//字型租体Dispatch.put(font,"Color","1,0,0,0");//字型颜色红色Dispatch.call(selection,"TypeText","Word文档处理");//写入标题内容Dispatch.call(selection,"TypeParagraph");//空一行段落Dispatch.put(align,"Alignment","3");//1:置中2:靠右3:靠左Dispatch.put(selection,"Text","");Dispatch.call(selection,"MoveDown");//光标标往下一行//表格处理////////////////////////Dispatchtables=Dispatch.get(document,"Tables").toDispatch();Dispatchrange=Dispatch.get(selection,"Range").toDispatch();Dispatchtable1=Dispatch.call(tables,"Add",range,newVariant(3),newVariant(2),newVariant(1)).toDispatch();//设置行数,列数,表格外框宽度//所有表格VarianttableAmount=Dispatch.get(tables,"count");System.out.println(tableAmount);//要填充的表格Dispatcht1=Dispatch.call(tables,"Item",newVariant(1)).toDispatch();Dispatcht1_row=Dispatch.get(t1,"rows").toDispatch();//所有行intt1_rowNum=Dispatch.get(t1_row,"count").getInt();Dispatch.call(Dispatch.get(t1,"columns").toDispatch(),"AutoFit");//自动调整intt1_colNum=Dispatch.get(Dispatch.get(t1,"columns").toDispatch(),"count").getInt();System.out.println(t1_rowNum+""+t1_colNum);for(inti=1;i
为什么 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
可以通过“FileOutputStream”创建文件实例,之后过“OutputStreamWriter”流的形式进行存储,举例:OutputStreamWriter pw = null;//定义一个流pw = new OutputStreamWriter(new FileOutputStream(“D:/test.xml”),"GBK");//确认流的输出文件和编码格式,此过程创建了“test.xml”实例pw.write("我是要写入到xml文件的内容");//将要写入文件的内容,可以多次writepw.close();//关闭流备注:文件流用完之后必须及时通过close方法关闭,否则会一直处于打开状态,直至程序停止,增加系统负担。
FreeMarker导出word,java后台拼接的标签无法转义
展开全部 首先,通过xml模板可以将基本上所有的格式都事先锁定,包括页码和分页,只要你事先预设好就能够通过freemarker实现生成,接下来就是我这个问题了,目录怎么解决,下面是解决思路:1:目录的内容可以根据之前其他的内容一样解决,通过XML模板预先设置好,2:目录的页码已经研究过是不能直接通过xml模板实现动态对应了(至少我没搞定0.0)3:由于不能够一步到位,我采取了在模板中预留了一页空白页,只留了抬头的目录两个字,然后通过查询目录二字进行目录的生成,这个功能也是我刚刚折腾出来的0.0目前还没测试能不能用模板生成目录后再更新目录0.0,不过想想可以直接生成目录应该就不用这么麻烦了,至于word生成后的修改0.0我觉得还是以后再说吧..整体来说应该还算完美解决了,代码我就不在这贴出来了~虽然中间折腾了半天走了半天弯路~讲道理还是用的jacob来实现的。
。
...
求从html到word xml格式的方法。
最好是java 。
可以把日期组织成一个map,然后遍历一下List>dateMapList=new List>;for(遍历塞值){Map dateList= new HashMap();dateList.put("date","20150102");dateMapList.add(dateList);}<#list dateMapList as dateList><#if dateList.date??>${dateList.date}</#if></#list>刚学,希望对大家有帮助
freemarker 导出的word有乱码 ! 怎么解决?
OFFICE本身是没有问题的。
你打开你的word文档是不是,但这个词的临时文件生成的。
临时文件包含您刚才告诉我做一些改变只有一个字,所以你转向会出现乱码,你需要找到原词打开。
临时文件一般都是隐藏不可见的,你可以设置显示隐藏文件,所以你可以看到临时文件。
找同名的符号是没有什么特别的文件打开,那才是真正的文件。
转载请注明出处51数据库 » freemarker word