1.如何能让Java生成复杂Word文档
客户要求用程序生成标准的word文档,要能打印,而且不能变形,以前用过很多解决方案,都在客户严格要求下牺牲的无比惨烈。
POI读word文档还行,写文档实在不敢恭维,复杂的样式很难控制不提,想象一下一个20多页,嵌套很多表格和图像的word文档靠POI来写代码输出,对程序员来说比去山西挖煤还惨,况且文档格式还经常变化。iText操作Excel还行。
对于复杂的大量的word也是噩梦。直接通过JSP输出样式基本不达标,而且要打印出来就更是惨不忍睹。
Word从2003开始支持XML格式,用XML还做就很简单了。大致的思路是先用office2003或者2007编辑好word的样式,然后另存为xml,将xml翻译为FreeMarker模板,最后用java来解析FreeMarker模板并输出Doc。
经测试这样方式生成的word文档完全符合office标准,样式、内容控制非常便利,打印也不会变形,生成的文档和office中编辑文档完全一样。看看实际效果首先用office【版本要2003以上,以下的不支持xml格式】编辑文档的样式,图中红线的部分就是我要输出的部分: 将编辑好的文档另存为XML。
2.如何能让Java生成复杂Word文档
客户要求用程序生成标准的word文档,要能打印,而且不能变形,以前用过很多解决方案,都在客户严格要求下牺牲的无比惨烈。
POI读word文档还行,写文档实在不敢恭维,复杂的样式很难控制不提,想象一下一个20多页,嵌套很多表格和图像的word文档靠POI来写代码输出,对程序员来说比去山西挖煤还惨,况且文档格式还经常变化。
iText操作Excel还行。对于复杂的大量的word也是噩梦。
直接通过JSP输出样式基本不达标,而且要打印出来就更是惨不忍睹。
Word从2003开始支持XML格式,用XML还做就很简单了。
大致的思路是先用office2003或者2007编辑好word的样式,然后另存为xml,将xml翻译为FreeMarker模板,最后用java来解析FreeMarker模板并输出Doc。经测试这样方式生成的word文档完全符合office标准,样式、内容控制非常便利,打印也不会变形,生成的文档和office中编辑文档完全一样。
看看实际效果
首先用office【版本要2003以上,以下的不支持xml格式】编辑文档的样式,图中红线的部分就是我要输出的部分:
将编辑好的文档另存为XML
3.java 代码生成word文件
没定格式的话可以再jsp页面添加这段:
<%
response.reset();
response.setContentType("application/vnd.ms-excel;charset=utf-8");
java.util.Date date = new Date();
DateFormat df = new SimpleDateFormat("yyyyMMddhhmmss");
String Starttime = df.format(date).toString();
response.setHeader("Content-disposition", "attachment; filename=GroupingInformation_"+ Starttime + ".doc");
%>
如果要定好格式的话,只有自己去看poi比较复杂。(但是用习惯了就没大问题了。)
poi后台:
导出第三句是格式,这个自己去试试。
4.怎么制作word复杂模板
第1步,打开Word文档窗口,切换到“页面布局”功能区。在“页面设置”分组中,单击显示“页面设置”对话框按钮。
第2步,打开“页面设置”对话框,切换到“页边距”选项卡。在“页码范围”区域单击“多页”下拉三角按钮,并在打开的下拉菜单中选择“书籍折页”选项,如图所示。
第3步,切换到“纸张”选项卡,单击“纸张大小”下拉三角按钮,并在打开的下拉菜单中选择合适的纸张类型。由于使用“书籍折页”页面设置后,纸张方向只能选择“横向”,因此用户应当选择2倍于书籍幅面的纸张类型。例如,如果书籍是A4幅面,则应该选择A3纸张;如果书籍是B5负面,则应该选择B4幅面。完成纸张大小的设置后单击“确定”按钮,如图所示。
第4步,返回Word2007文档窗口,单击office按钮。在Office菜单中指向“打印”选项,并在打开的下一级菜单中单击“打印”命令。
第5步,打开“打印”对话框,选中“手动双面打印”复选框以便更好地控制纸张的正、反面放置。然后单击“确定”按钮开始打印。完成第一张的打印后,需要将该纸张反面放入打印机以打印反面(可能需要多次尝试才能确定的放置方向),如图所示。
5.一个java web项目,项目中,要生成复杂的word文档,我采用word文
你换一种方式去找摸吧路径;
private Configuration configuration= null;
Template t = null;
// 你在模板.ftl的包中再建一个java类,这个java类中什么都不写,比如就叫model.java
//然后用下面的这个方法去找摸吧路径
templateLoader=new ClassTemplateLoader(model.class);
configuration.setTemplateLoader(templateLoader);
t = configuration.getTemplate(path);
t.setEncoding("utf-8");
这样一定可以拿到,不行的话,在问我
6.HTML怎么导出生成word文档
1、保存网页
在浏览器中访问目标网页,执行菜单“文件”→“另存为”,文件类型选择“网页,全部”。
2、用WPS文字打开html文件
执行“文件”→“打开”,文件类型选择“网页文件”或“所有文件”,以打开刚才下载得到的《[征稿八]怎样用WPS制作PDF》html文件。
3、去掉不需要的部分
注:表格形式出现的正文,可以选中后执行“表格”→“转换”→“表格转换为文本”去除表格外框。
4、最后另存为WPS文档或WORD文档即可。
7.怎样制作复杂的Word表格
以word2007为例:zhidao在word插入页面,点表格下拉菜单,可以酌情生成不同行列的word表格。
在生成的word表格中,选中相邻单元格,右击鼠标,在弹出菜单里有合并单元格,或者直接切换到布局页面的合并菜单,用户能以此将部分单元格合并为一个大版的单元格。反之,亦能将一个单元格拆分成两个以上的小单元格。
在布局页面,用户还能绘制斜线表头等。通过这些操作,基本能满足制作样式比较复杂的word表格权。
但是,word表格的计算功能弱,定义公式不方便。因此,如果表内需要大量数据运算,请使用Excel制作表格。
8.怎么用程序生成word文档
用程序生成word文档的解决办法
首先打开word程序,然后点击左上角的按钮选择新建。
在新建文档中选择已安装的word模板,然后根据需要选择相应的模板,这里小编选择word简历模板,最后点击创建。
此时一个word简历模板就快速的创建好了,我们可以直接在上面修改制作成自己的word简历。
小编随意在word模板上修改一下,大家看一下效果。
如果感觉已安装的word模板没有合适的,我们可以在Microsoft Office Online中挑选,里面与很多现成的word模板。
我们插入一个word模板,小编选择了一个word简历模板,只要把个人信息填写到里面就可以了,这种方法快速高效,可以大大的节省工作时间。
小刚SEO为你解答
转载请注明出处51数据库 » 代码生成复杂word文档