这段时间项目中使用了freemarker生成word文档.在项目中遇到了几个问题,在这里记录一下.首先就是关于遍历遇到的坑.整行整行的遍历是很简单的,只需要在整行的<w:tr></w:tr>的标签钱加上遍历的<#list  list as list> </#list>就行了.我在这里要说的是前面还有合并单元格的时候的情况.如下图,水泥路面和沥青路面这几行属于申请占用面积的子行.在这里遍历的时候就需要注意.按照html的格式的话,肯定会将这整个刚做一个tr.然…
Web项目中生成Word文档的操作屡见不鲜.基于Java的解决方式也是非常多的,包含使用Jacob.Apache POI.Java2Word.iText等各种方式,事实上在从Office 2003開始.就能够将Office文档转换成XML文件,这样仅仅要将须要填入的内容放上${}占位符,就能够使用像Freemarker这种模板引擎将出现占位符的地方替换成真实数据,这种方式较之其它的方案要更为简单. 以下举一个简单的样例.比方在Web页面中填写个人简历,然后点击保存下载到本地.效果图例如以下所看到…
  java 生成word文档     最近需要做一个导出word的功能, 在网上搜了下, 有用POI,JXL,iText等jar生成一个word文件然后将数据写到该文件中,API非常繁琐而且拼出来的样式也不美观,于是选择了另一种方式----feemarker基于word模板的导出方式, 这种方式非常简单而且导出的样式美观, 其原理就是先做一个word模板, 该模板中变量数据用${xxx}这种方式填写, 然后再导出时只需读取模板然后用相应的数据替换其中的${xxx}即可.   一,简单模板导出(…
生成word文档的框架比较多,比如poi,java2word,itext和freemarker. 调研之后,freemarker来实现挺简单的,具体步骤如下: 1. 新建word文档,占位符用${},比如:${name}.样例: 你好 ${name} 2. 把word另存为xml文件,如:example.xml 3. 修改文件格式,把example.xml改为example.ftl. 4.安装notePad++ xml tools插件,用来打开example.ftl文件.里面可能有些文件分成了好…
FreeMarker简介: FreeMarker是一款模板引擎:即一种基于模板和要改变的数据,并用来生成输出文本(HTML网页.电子邮件.配置文件.源代码等)的通用工具,它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件. FreeMarker是免费的,基于Apache许可证2.0版本发布.其模板编写为FreeMarker Template Language(FTL),数据简单.专用的语言.需要准备数据在真实编程语言中来显示,比如数据库查询和业务运算,之后模板显…
1.原料 开源jar包freemarker.eclipse.一份模板word文档 2.首先设计模板word文档 一般,通过程序输出的word文档的格式是固定的,例如建立一个表格,将表格的标题写好,表格的内容使用不同的标记标好,设计好word后,将word文档另存为xml文件(注:只有word2003 以上的版本可以),使用xml工具打开文件,将要输出到word的内容使用${XX}替换,保存后将文件直接改为tdl后缀 3.使用eclipse编写程序 1)获得一个Configuration实例,并为…
1. 用word写一个需要导出的word模板,然后存为xml格式. 2. 将xml中需要动态修改内容的地方,换成freemarker的标识符,例如: <w:p wsp:rsidR="00D02906" wsp:rsidRDefault="00FA4C58" wsp:rsidP="00FA4C58"> <w:pPr> <w:jc w:val="center"/> <w:rPr> &…
 阅读目录 添加图片 自定义载入模板 1.       用word写一个需要导出的word模板,然后存为xml格式. 2.       将xml中需要动态修改内容的地方,换成freemarker的标识符,例如: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 <w:p wsp:rsidR="00D02906" wsp:rsidRDefault="00FA4C58" wsp:rsidP="00FA4C58"…
一.设计出的简历模板图以及给的简历小图标切图         二.按照简历模板图新建简历word文件 :${字段名},同时将图片插入到word中,并将建好的word文件另存为xml文件:    三.直接将该xml文件重命名为.ftl文件,并用编辑器(EditPlus)打开并修改 说明:字段取值用Map来存取: ${pictureAddrees!"...."}    pictureAddress中存的是图片转换后的64位码,!(感叹号)表示当字段值为空时取后面的默认图片的64位码:  …
1.把需要从数据库取值的字段用${}括起来,如:${busDate};2.表格数据的循环需要加标签:<#list tbl3 as tbl3>......</#list><#list tbl14001 as tbl14001> <#if tbl14001_index gt 3> ..... ..... 行... </#if></#list> gt > lt < 下标从0开始 3.下标从1开始循环: 4.嵌套循环 表循环标签示…
替换模板ftl中的内容的时候,一些特殊的字符需要转移,例如: &,<,> value为字符串 value.replace("&","&").replace(">",">").replace("<","<")…
使用freemarker生成word.html时图片显示问题 博客分类: Java 使用freemarker生成word时图片显示问题使用freemarker生成html时图片显示问题使用iText生成pdf时图片显示问题  使用freemarker生成word.html时,在图片显示这儿碰了个大钉子,最后总算弄出来了,这里总结一下. 1.生成word: a.使用freemarker生成word文档图片显示需要特殊处理,若是按照常理(使用占位符的形式)替换完成之后显示图片的区域只会出现一堆内容(…
这是写的另一个导出word方法:https://www.cnblogs.com/pxblog/p/13072711.html 引入jar包,freemarker.jar.apache-ant-zip-1.8.0.jar(制作压缩包使用) 下载地址:   https://yvioo.lanzous.com/b00njhxoh   密码:2mcs 或者maven <!-- https://mvnrepository.com/artifact/org.freemarker/freemarker -->…
1.准备模板文档,如果word文档中有表格,只保留表头和第一行数据:2.定义变量,将word文档中的变量用${var_name}替换:3.生成xml文件,将替换变量符后的word文档另存为xml文件:4.格式化xml文件,使用工具(XmlFormat.exe),自动生成格式化后的xml文件:5.美化xml文件,${}中的内容仅保留变量名:6.表格,将表格中的行数据用相应的变量替换,在第一行数据的收尾加标签:<#list tbl1 as tbl1></#list> ,注意:表格可嵌套…
  POI 生成word 文档 一般有两种方法: ① word模板 生成word 文档 : ② 写代码直接生成 word 文档: 我这里演示的是第二种方法,即写代码生成 word文档,不多说废话,直接代码: /** * 镇街日报导出word */ @RequestMapping(params = "exportWordForTownDaily") public void exportWordForTownDaily(HttpServletResponse response ,Strin…
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 这个方案只能在java中运行,无法在Android项目中运行.所以此方案是:APP将表单数据发送给后台,后台通过freemarker将表单数据根据模板ftl文件生成Word文件,然后返回给APP,由APP进行展现. 前期准备 1.下载freemarker.jar文件 官网下载地址:https://freemarker.apache.org/freemarkerdownload.html 后续将freemarker.jar文件添加…
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 尝试的方案包括以下几种: freemarker 只能在java项目上运行,无法在Android项目上运行: 参考资料:<FreemarkerJavaDemo[Android将表单数据生成Word文档的方案之一(基于freemarker2.3.28,只能java生成)]> poi 解析doc文件可以在Android项目上运行: 解析Docx文件只能在java项目上运行,无法在Android项目上运行: 暂时未实现替换图片功能:…
1.生成word代码 /// <summary> /// 生成word文档 /// </summary> /// <param name="tempPath">模板绝对路径</param> /// <param name="savePath">模板保存路径(包含文件名称 后缀必须是docx)</param> /// <param name="hsHeads">页眉…
Aspose.Words简单生成word文档 Aspose.Words.Document doc = new Aspose.Words.Document(); Aspose.Words.DocumentBuilder builder = new Aspose.Words.DocumentBuilder(doc); builder.Writeln("试卷一-Title"); builder.Writeln("试卷一-Des"); string subject = @&…
h2:first-child, body>h1:first-child, body>h1:first-child+h2, body>h3:first-child, body>h4:first-child, body>h5:first-child, body>h6:first-child { margin-top: 0; padding-top: 0; } a:first-child h1, a:first-child h2, a:first-child h3, a:fi…
参考:http://blog.163.com/zhouchunping_99/blog/static/7837998820085114394716/ 生成word文档 生成word文档 view plaincopy to clipboardprint? public class BiultReportForm { /// <SUMMARY></SUMMARY> /// word 应用对象 /// private Microsoft.Office.Interop.Word.Appli…
前不久,公司一个项目需要实现导出文档的功能,之前是一个同事在做,做了3个星期,终于完成了,但是在项目上线之后却发现导出的文档有问题,此时,这个同事已经离职,我自然成为接班者,要把导出功能实现,但是我看了他写的那个ftl文档好久,就是没看懂,上面好多<w:pPr>.<w:rPr>.<w:szCs>.<w:t>等看不懂的标签,我也是无奈,在网上搜索“freemarker导出word文档”无果,后来才知道应该搜索的是“WordXML格式解析”.下面是我在做项目的过…
前言: 项目开发中遇到了需要将HTML页面的内容导出为一个word文档,所以有了这边随笔. 当然,项目开发又时间有点紧迫,第一时间想到的是用插件,所以百度了下.下面就介绍两个导出word文档的方法. 法一:通过jquery.wordexport.js导出word 备注:兼容IE9以上 大概浏览了下jquery.wordexport.js插件的代码,了解到了通过该插件可以导出文本和图片,而图片首先通过canvas的形式 绘制,文本则需要再依赖FileSaver.js插件,FileSaver.js插…
一,网上的API讲解 其实POI的生成Word文档的规则就是先把获取到的数据转成xml格式的数据,然后通过xpath解析表单式的应用取值,判断等等,然后在把取到的值放到word文档中,最后在输出来. 1.1,参考一 1.poi之word文档结构介绍之正文段落 一个文档包含多个段落,一个段落包含多个Runs,一个Runs包含多个Run,Run是文档的最小单元 获取所有段落:List<XWPFParagraph> paragraphs = word.getParagraphs(); 获取一个段落中…
使用freemarker导出word文档的过程 ************************************************************************************* 我在开发过程中,使用到了freemarker导出报表,报表内容包括文字说明,表格数据以及图表展示,其中最多工作是在配置ftl文件格式,根据word导出排版进行调整文字格式,表格规范和图片大小位置等. ****************************************…
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 这个是<PoiDemo[Android将表单数据生成Word文档的方案之二(基于Poi4.0.0)]>的扩展,上一篇是根据doc模板生成doc文件,这个是根据docx模板生成docx文件. 注意:目前只能java生成,集成到Android项目中,运行报错[暂时未解决]: Process: com.why.project.poidocxdemo, PID: 13762 java.lang.NoClassDefFoundError…
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 使用Poi实现android中根据模板文件生成Word文档的功能.这里的模板文件是doc文件.如果模板文件是docx文件的话,请阅读下一篇文章<PoiDocxDemo[Android将表单数据生成Word文档的方案之二(基于Poi4.0.0),目前只能java生成]> 注意: POI 4.0.0 is the first release to require Java 8 or newer. 前期准备 1.下载poi相关jar…
转自:https://www.jb51.net/article/73528.htm 本文实例讲述了JSP生成WORD文档,EXCEL文档及PDF文档的方法.分享给大家供大家参考,具体如下: 在web-oa系统中,公文管理好象不可或缺,有时需要从数据库中查询一些数据以某种格式输出来,并以word文档的形式展现,有时许多word文档保存到数据库中的某个表的Blob字段里,服务器再把保存在Blob字段中的图片文件展现给用户.通过网上查找发现很少有关于此类的文章,现在整理起来供大家参考. 1 在clie…
C# 动态生成word文档 本文以一个简单的小例子,简述利用C#语言开发word表格相关的知识,仅供学习分享使用,如有不足之处,还请指正. 在工程中引用word的动态库 在项目中,点击项目名称右键-->管理NuGet程序包,打开NuGet包管理器窗口,进行搜索下载即可,如下图所示: 涉及知识点 _Application: 表示word应用程序的接口,对应的实现类是Application类. _Document:表示一个word文档,通过_Application对应的文档接口进行创建. Parag…
当我们使用Java生成word文档时,通常首先会想到iText和POI,这是因为我们习惯了使用这两种方法操作Excel,自然而然的也想使用这种生成word文档.但是当我们需要动态生成word时,通常不仅要能够显示word中的内容,还要能够很好的保持word中的复杂样式.这时如果再使用IText和POI去操作,就好比程序员去搬砖一样痛苦. 这时候,我们应该考虑使用FreeMarker的模板技术快速实现这个复杂的功能,让程序员在喝咖啡的过程中就把问题解决.实现思路是这样的:先创建一个word文档,按…