Java项目引入 Freemarker 插件自行完成. 步骤如下: .编写 Word 模板,并将模板中要用代码动态生成数据用 Freemarker 变量取代,即${变量名},如${username}: .把该 word 文档 另存为 xml 文件(格式选择 Word XML,注意是另存为,不是改扩展名为 xml),然后再改扩展名为 ftl: .用编辑软件打开最后的 ftl 文件,并用查找功能查找第一步中定义的变量名,如:username, 就会发现 Word 软件在将 Word 转为 xml 过…
利用html模板生成Word文件(服务器端不需要安装Word) 由于管理的原因,不能在服务器上安装Office相关组件,所以只能采用客户端读取Html模板,后台对模板中标记的字段数据替换并返回给客户端的方法来实现,经过测试这种方法也是一种不错的选择! 首先自己写一个html网页模板,代码如下: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>…
根据PDF模板生成PDF文件,这里主要借助iTextSharp工具来完成.场景是这样的,假如要做一个电子协议,用过通过在线填写表单数据,然后系统根据用户填写的数据,生成电子档的协议.原理很简单,但是每个技术人员解决问题的思路不太一样.也有朋友直接通过Canvas来实现,过程是把内容排版好,然后生成图片,然后根据图片生成PDF文件,这种方式有个问题,如果要是要求兼容移动端的话,在移动设备上排版出来的效果肯定不太一样,导致最终生成的电子协议和期望的相差太大.下面我们就利用PDF中的表单元素,来完成P…
JAVA生成WORD文件的方法目前有以下种: 一种是jacob 但是局限于windows平台 往往许多JAVA程序运行于其他操作系统 在此不讨论该方案 一种是pio但是他的excel处理很程序 word模块还局限于读取word的文本内容,写word文件就更弱项了 当我使用这个JAVA生成RTF文件时费了好大的劲,原本是想生成WORD文档的,但是WORD文档POI只支持往生成的WORD中填入文本,对于图片根本就不支持.后来想想,RTF格式的也可用WORD打开,不如生成RTF.结果上网搜了很多技术,…
1.  准备模板 模板 + 数据 = 模型 1.将准备好的Word模板文件另存为.xml文件(PS:建议使用WPS来创建Word文件,不建议用Office) 2.将.xml文件重命名为.ftl文件 3.用文本编辑器打开.ftl文件,将内容复制出来,格式化一下,再覆盖原来的内容 (PS:格式化一下是为了方便查找并设置变量/占位符,当然设置好模板参数变量以后可以再压缩后再写会.ftl文件) 4.设置模板参数(变量/占位符) 2.  代码实现 pom.xml <?xml version="1.0…
一.准备工作 1.创建一个03的word文档,动态的数据用占位符标志占位(如testname).然后另存为word2003的xml文件. 2.格式化xml文件,占位符的位置用${testname}代替,若有多行格式相同数据等,用List循环. 注意事项: 1.不要用Eclipse工具去格式化xml文件(会导致导出的word文件不能用office软件打开,但是PDF能打开,估计是pdf的容错率高于office),推荐使用firstObject工具格式化xml文件. 2.xml中进行替换的时候: 变…
关于怎么通过freemarker模板生成excel的文章很多,关键点在于怎么制作模板文件.ftl 网上的办法是: (1)把Excel模板的格式调好,另存为xml文件 (2)新建一个.ftl文件,把xml文件内容copy进去,把变量换成FreeMarker的插值   当然可行,但是这样制作的.ftl文件偏大,可读性很低     我是这样制作的,直接写HTML标签 <table> <thead> <tr> <td>资产端简称</td> <td&…
最近业务需要批量打印准考证信息 1.根据Table数据进行循环替换,每次替换的时候只替换Word中第一个Table的数据, 2.每次替换之后将Word中第一个Table数据进行复制,将复制Table和上次替换的Table合并为一个Table.由于替换后的Table中不存在占位符,只有复制的Table中存在占位符,所有每次循环根据占位符替换最新数据就可以达到批量生成Word的目的了 Word模板: 批量替换后的Word: using System; using System.Collections…
https://blog.csdn.net/Fishroad/article/details/47951061?locationNum=2&fps=1 先下载jacob.jar包.解压后将jacob.dll放到windows/system32下面或\jre\bin下面.将jacob.jar加入项目. 这样项目的环境基本上搭建完成,接下来就是书写相关的代码: /** * 传入数据为HashMap对象,对象中的Key代表word模板中要替换的字段,Value代表用来替换的值. * word模板中所有…
推荐:亲身体验,数次踩坑,遂撰写此文,以备各位不时之需. 背景 一天,产品经理递给我了一份word报告,我定睛一看 这个文档有大大小小的标题层级,还有排版好的段落.各种一目了然的饼图.走势图,当然还少不了颜色循环交替的报表.精致程度不亚于小明同学的学习报告. 准备 鲁迅:身为一名Java程序员,任何时候都不要忘记站在巨人的肩膀上. 通过某歌搜索关键词:java+word+导出,我立马得出了很多成熟的方案,通过横向.纵向比较,再结合本次报告样式比较多.用户可灵活选择不同模块导出的特点,最终,我决定…
使用word模板生成pdf文件 源码:UserWord…
转(小改): Java利用poi生成word(包含插入图片,动态表格,行合并) 2018年12月20日 09:06:51 wjw_11093010 阅读数:70 Java利用poi生成word(包含插入图片,动态表格,行合并) 测试模板样式: Word生成结果: 图表 2需要的jar包:(具体jar可自行去maven下载) 注意:需要严格按照上面版本下载jar包,否则可能出现jar包之间不能匹配的导致代码报错 各种 jar包都可以在这里下载: https://mvnrepository.com/…
1.jsp生成word文件,直接改动jsp格式: <%@ page contentType="application/vnd.ms-word;charset=GB2312"%> <%@ pagepageEncoding="GB2312"%> <% String fileName ="word.doc"; byte[] bt =fileName.getBytes("GB2312"); String…
1,最近有个需求,动态生成 Word 文当并供前端下载,网上找了一下,发现基本都是用 word 生成 xml 然后用模板替换变量的方式 1.1,这种方式虽然可行,但是生成的 xml 是在是太乱了,整理就得整理半天,而且一旦要修改模板,那简直就是灾难,而且据说还不兼容 WPS 1.2,所以笔者找到了以下可以直接用 word 文档作为模板的方法,这里做以下笔记,以下代码依赖于 JDK8 以上 2,pom.xml 相应依赖 <!-- 文档模板操作依赖 --> <dependency> &…
一,由于该 jar 包不是免费的, maven 仓库一般不会有,需要我们去官网下载并安装到本地 maven 仓库 1,用地址   https://www-evget-com/product/564    下载 19.4  和 18.1 两个版本 (不知道为什么这个地址博客园不允许粘贴,请大家将域名的 - 换成 . 后在访问) 2,安装到本地 maven 仓库,不会安装的请移步  https://www.cnblogs.com/lovling/p/10122207.html 3,笔者安装的命令如下…
这是写的另一个导出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 -->…
最近在做了一个小程序!里面有个功能就是根据用户提交的数据,自动生成一份word文档返回给用户.我也是第一次做这功能,大概思路就是先自己弄一份word模板,后台接受小程序发过来的数据,再根据这些数据将相应内容写入到相应位置,再将生成word文档的地址返回给前台,前台再根据返回的URL访问服务器的上对应资源. 由于我的后台用的是node.js  毕竟算是新生语言,插件还是比较少.所以在这里总结一下,以便以后再次用到方便查看. 在windows上动态生成模板word文档. 在windows上实现这个倒…
项目开发过程中,客户提出一堆导出报表的需求,需要导出word格式,页眉还需要加上客户公司的logo,试了几种方案,最后选择了用 Apache poi 加上自定义标签的方式实现. 目前功能还比较简单,一些复杂的表格做不了,但是已经基本满足项目需求了. 使用poi读取word模板,替换word中的{text}标签,并根据自定义标签循环生成表格或表格中的行. 代码示例下载:https://download.csdn.net/download/u012775558/10306308 注意,仅支持docx…
介绍 上次公司项目需要一个生成word文档的功能,有固定的模板根据业务填充数据即可,由于从来没做过,项目也比较着急于是去网上找有没有合适的工具类,找了好几种,看到其中有freeMark模板生成比较靠谱于是采用这个,正常生成成功了还挺高兴的于是修改优化部署测试,出问题了,由于我一直使用wps可以正常打开,但是同事使用office打不开,于是各种查找原因都没好,于是只能转变思路又试了两种还是不好用,直到发现这款模板生成 poi-tl 真的做的很不错,而且是国人写的,关于学习这个东西还是看官方文档的好…
一,首先制作模板 1.先做一个Word文档, 2.打开Word,然后另存为*.xml文件 3.最后修改*.xml文件的后缀名为*.ftl 二,打开项目编辑器Idea,在pom文件中引入相关架包依赖(我这里用的是maven) <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-scratchpad</artifactId> <version>3.8</ver…
项目中最近用到这个东西,做下记录. 如下图,先准备好一个(office2003)word文档当做模板.文档中图片.姓名.性别和生日已经使用占位符代替,生成过程中将会根据实际情况进行替换. 然后将word文档另存为"Word XML文档" 使用xml编辑器打开test.xml,将下图中的BASE64字符串替换为${image},后面程序中将使用这个替换图片. 完成后,将test.xml重命名为test.ftl. 接下来,实现代码如下: public class ExportDoc { p…
大致的思路是先用office2003或者2007编辑好Word的样式,然后另存为XML,将XML翻译为FreeMarker模板,最后用Java来解析FreeMarker模板并输出Doc.经测试这样方式生成的我认定文档完全符合office标准,样式.内容控制非常便利,打印也不会变形,生成的文档和office中编辑文档完全一样.…
在项目开发过程中,我们经常会遇到需要发送邮件的场景,比如:用户验证邮箱的时候,有活动通知或者提醒通知的时候……有些时候我们可能只需要发送一些简单文本内容即可,但是大多数情况下我们更希望邮件的内容是丰富多彩,而且是“定制的”,能够灵活修改.这时候使用一个方便修改的邮件模板就显得非常必要了. 对于发送邮件,大家都知道Oracle提供了官方的JavaMail API,这个API没有包含在标准的JDK中,所以需要额外下载.JavaMail功能全而强大,但是在易用性方面还是略微差点,这方面Spring对J…
摘要:这几天遇到个需要,需要提供用户下载电子证照,最简单的方法实现:word做了一份模板,利用网页工具转成OFD文件,http://www.yozodcs.com/page/example.html用7Z工具解压ofd文件,压缩使用WinZip,压缩的时候不能带根路径;得到文件目录结构如下: 首先我们来看OFD文件的目录结构,OFD文件底层为XML,解析可查看相关文档,下面简述我了解的: Doc_1文件夹下面是主要内容 Pages下面存放OFD每个页面的XML 简单说明Pages下面页面信息XM…
一.简介 对于poi来说,poi可以完成对word.excel.ppt的处理.word目前有两种文件格式,一种是doc后缀.另一种是docx后缀的.2007之前的版本都是doc后缀的,这种格式poi使用HWPF进行处理.HWPF也能有限多地对旧的word6和word95格式的文件处理提供支持.2007(包括)之后都是docx后缀的,poi使用XWPF进行处理.HWPF 和 XWPF的特性有些相似,但是目前两者没有共用接口. HWPF和XWPF可以被描述为“适度功能”.对于一些例子来说,管理文本的…
最近项目需要导出企业风险报告,文件格式为pdf,于是搜了一大批文章都是什么Jasper Report,iText ,flying sauser ,都尝试了一遍,感觉不是我想要的效果, 需要自己调整好多东西,样式,字体等等,好麻烦,毕竟博主这么懒的人,哈哈.-------jstarseven 言归正传: java生成pdf文件,方式很多,以上提到的哪几种方式具体可以参考这篇文章<讲解很详细>:http://blog.csdn.net/ouyhong123/article/details/2640…
一.在开发OA办公或与文档相关的Web系统中,难免会遇到动态生成word文档的需求,为了解决工作中遇到导出word文档的需求,前一段时间上网找了一些资料,在word导出这方面有很多工具可以使用,jacob.poi.java2word.itext.jacob要求服务器必须是windows操作系统,服务器上还必须安装office软件,果断放弃!poi需要针对doc和docx两种格式写不同的代码,增加了程序的复杂度.java2doc 是对 jacob 的封装,同样放弃!最后选定了用itext来导出wo…
一.在开发OA办公或与文档相关的Web系统中,难免会遇到动态生成word文档的需求,为了解决工作中遇到导出word文档的需求,前一段时间上网找了一些资料,在word导出这方面有很多工具可以使用,jacob.poi.java2word.itext.jacob要求服务器必须是windows操作系统,服务器上还必须安装office软件,果断放弃!poi需要针对doc和docx两种格式写不同的代码,增加了程序的复杂度.java2doc 是对 jacob 的封装,同样放弃!最后选定了用itext来导出wo…
指定的word模版 2,生成word类 添加com Microsoft word 11.0 Object Library 引用 using System; using System.Collections.Generic; using System.Data; using System.Windows.Forms; using Word = Microsoft.Office.Interop.Word; using System.IO;   namespace Headfree.DefUI {  …
根据html内容生成word,并自动下载下来.使用到了itext-1.4.6.jar import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; import java.io.StringReader; import java.net.URLEncoder; import…