- 浏览: 733523 次
- 性别:
- 来自: 宁波
文章分类
- 全部博客 (125)
- 软件开发 (17)
- java (32)
- js (2)
- jsp (1)
- struts2 (1)
- jquery (4)
- oracle (12)
- 程序员 (2)
- 三星i9300 联通版 root (1)
- easyui (2)
- DOM4J (2)
- 哲学 (1)
- ftp (1)
- oracle每日一学 (2)
- spring (4)
- jquery每日一学 (5)
- shiro (4)
- ITextRenderer (1)
- shiro标签 (1)
- mysql (1)
- mysql每日一学 (4)
- 分词 (1)
- vtiger crm (1)
- IkAnalyzer (1)
- jsoup (1)
- 多线程 (1)
- quartz (1)
- ubuntu (2)
- gradle学习笔记 (1)
- node.js (1)
- ajax (1)
- mybatis (1)
- cas (2)
- cxf (1)
- jqgrid (1)
- 开发工具破解 (1)
最新评论
-
氵每市蜃木娄:
使用过后,移动滚动条,非冻结的列,表头不见了。
easyui datagrid 右冻结 -
18335864773:
推荐用pageoffice组件打开文档,pageoffice ...
java word导出 -
xiaoliuf4565:
用过之后中文可以换行,但是现在编程了英文和数字不换行了脑壳痛
freemarker+ITextRenderer 生成html转pdf -
A741841403:
Error:(275, 29) java: 无法访问com.l ...
freemarker+ITextRenderer 生成html转pdf -
A741841403:
楼主你好,我想问下,如何在maven中使用你的jar包呢
freemarker+ITextRenderer 生成html转pdf
需要导出的word文档是事先准备好的一个模板,文档数据所在的位置则必须按FreeMarker模板语法的占位符(如:${xxx})填充,然后将word文档保存(最好另存为,原模板也最后保留,便于以后修改)为xml格式的文件,然后使用文本编辑器打开检查并修改不合法或书写更好的FreeMarker语法。最后在后台服务端使用FreeMarker相关的包和类读取模板,返回模板所需的数据变量,输出word文件即可。
导出word功能示例
1、创建word模板
先创建你需要导出具体格式和样式的模板,数据用FreeMarker语法的占位符占据word模板
2、另存并编辑xml文件
创建好word模板之后,需要将word另存为xml格式的文件,这样易于查看和编辑为符合FreeMarker模板语法的xml文件,保证导出word数据的准确性,具体FreeMaker语法网上有很多,这里就不细说了。
导出word功能示例
1、创建word模板
先创建你需要导出具体格式和样式的模板,数据用FreeMarker语法的占位符占据word模板
2、另存并编辑xml文件
创建好word模板之后,需要将word另存为xml格式的文件,这样易于查看和编辑为符合FreeMarker模板语法的xml文件,保证导出word数据的准确性,具体FreeMaker语法网上有很多,这里就不细说了。
import freemarker.template.Configuration; import freemarker.template.Template; import java.io.File; import java.io.IOException; import java.io.Writer; import java.util.Map; /** * */ public class WordUtil { private Configuration configuration = null; /** * 构造方法 */ public WordUtil() { try { configuration = new Configuration(); configuration.setDefaultEncoding("UTF-8"); } catch (Exception e) { e.printStackTrace(); } } /** * 根据类路径获取模板 * @param templatePath * @param templateName * @return * @throws IOException */ private Template getTemplate(String templatePath, String templateName) throws IOException { configuration.setDirectoryForTemplateLoading(new File(templatePath)); Template t = configuration.getTemplate(templateName); t.setEncoding("UTF-8"); return t; } /** * 生成word文档 * @param templatePath * @param templateName * @param dataMap * @param out */ public void write(String templatePath, String templateName, Map<String, Object> dataMap, Writer out) { try { Template t = getTemplate(templatePath, templateName); t.process(dataMap, out); out.close(); } catch (Exception e) { System.out.println(e.getMessage()); e.printStackTrace(); } } }
import com.blinkfox.util.WordUtil; import com.jfinal.kit.PathKit; import java.io.FileOutputStream; import java.io.OutputStreamWriter; import java.io.Writer; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** * Created by */ public class ExportWordTest { /** * 构造测试数据 * @return */ public static Map<String, Object> createDatas() { Map<String, Object> testMap = new HashMap<String, Object>(); // 构造散数据 testMap.put("author", "浙江火焰"); testMap.put("date", "2015-11-20"); // 构造列表循环数据存放在ArrayList集合中 List<Map<String, String>> list = new ArrayList<Map<String, String>>(); for (int i = 0; i < 5; i++) { Map<String, String> map = new HashMap<String, String>(); map.put("xh", (i + 1) + ""); map.put("name", "张三" + i); map.put("phone", "1381111222" + i); list.add(map); } testMap.put("datas", list); return testMap; } /** * @param args */ public static void main(String[] args) { Map<String, Object> testMap = createDatas(); WordUtil handler = new WordUtil(); Writer out = null; try { // 生成test.doc的word文件到某文件路径下 FileOutputStream fos = new FileOutputStream("/home/blinkfox/文档/test.doc"); out = new OutputStreamWriter(fos, "UTF-8"); String templatePath = PathKit.getRootClassPath() + "/template/"; handler.write(templatePath, "test.xml", testMap, out); System.out.println("导出成功!"); } catch (Exception e) { e.printStackTrace(); } } }
评论
1 楼
18335864773
2019-03-01
推荐用pageoffice组件打开文档,pageoffice 可以实现在线打开文档,然后另存到客户端电脑。效果和本地office 的效果一样。不需要xml。
发表评论
-
spring 4mvc下载文件的实现
2016-06-14 13:52 2549网上找到的版本较老 是spring3的 org.spring ... -
cas不同登录页面手动设置不同国际化提示
2016-05-05 09:48 1289<% org.springframework.web. ... -
实用技术解决方案博客地址记录
2016-04-14 10:35 629Jquery 将表单序列化为Json对象:http://www ... -
如果实现类似微信附近的人功能
2016-01-13 10:09 2461如果实现类似微信附近的人功能: 第一种可以使用redis-ge ... -
cxf+wss4j+mysql webservice 加密服务开发
2015-11-04 10:02 2969我采用的是cxf 加密端用的 WSS4J 服务端查询数据库 ... -
多项目集中权限管理系统 采用cas +shiro+spring mvc+mbatis+bootstrap单点登录
2015-10-13 17:37 10197流程架构图: 这里权限系统也可以理解为cas client ... -
OAuthProblemException{error='unsupported_response_type', description='Invalid re
2015-09-21 18:05 4521OAuthProblemException{error='un ... -
导出数据到excel
2014-12-08 10:10 1407/** * * @param datas 数据行 ... -
java.lang.NoSuchMethodError: org.apache.axiom.soap.SOAPEnvelope.hasFault()Z错误的解决
2014-12-05 14:21 1628axis2 运行报这个错误的原因是 要么缺少 包 ,axiom ... -
spring mvc+shiro的通用权限管理系统
2014-10-23 13:50 26828同志们 我的 spring mvc+shiro的通用权限管理系 ... -
多线程断点下载文件
2014-09-23 15:46 1230所谓多线程断点下载 :就是当某个文件下了一部分后突然断电了,或 ... -
多线程下载文件
2014-09-22 17:27 2181package mutiDownload; import ... -
java按照每周分组 改进版
2014-07-07 16:07 4288之前是按照 先把数据按月分组 然后再按周分组 这样有个问题就是 ... -
java 按照每周分组
2014-06-09 09:07 7003本例的工作应用是导入excel excel的列里有一个发布日 ... -
java计算链表、数组列表或数组中最大元素
2014-03-09 23:50 2657package com; import java.uti ... -
java 获取数组的最大值和最小值
2014-03-02 22:08 6918package com; public class St ... -
宁波java开发技术群
2014-02-17 09:54 1宁波java开发群 240974225 在宁波做java开发的 ... -
spring mvc +jdbctemplate 返回多表查询List<Bean>
2013-12-27 13:19 17762发现 hibernate做多表查询 是忒麻烦了 Spring ... -
读《大型网站技术架构:核心原理与案例分析》 后感
2013-11-26 10:36 5658大型网站软件系统有比 ... -
java拆分list
2013-11-22 09:21 2181java 将一个list平均拆成十个list,如果 list的 ...
相关推荐
在Java编程环境中,导出Word文档是一项常见的任务,特别...以上就是使用Java和Apache POI实现Word导出功能的基本步骤和关键知识点。通过熟练掌握这些技巧,你可以轻松地创建符合模板格式的Word文档,满足各种业务需求。
标签中的"java导出word文档"、"jacob word导出"和"word导出图"暗示了这个项目可能还涵盖了在Word文档中插入图片的功能。使用Jacob,可以调用Word的API来插入图片,如下所示: ```java // 获取当前活动文档的Body...
在Java应用中,使用FreeMarker导出Word文档可以提供灵活的文本和数据结合的方式,尤其适用于生成报告、合同等复杂格式的文档。本篇将详细介绍如何使用FreeMarker与Java结合来导出包含多张图片的Word文档。 1. **...
java导出文件, freemarker导出word需要ftl文件,java导出Word常见问题。2.TXT修改后缀名为.ftl
在Java开发中,导出Word文档是一项常见的任务,尤其在生成报表、报告或者合同等场合。本文将探讨如何使用Java高效地实现Word文档导出,主要聚焦于利用XDocReport和FreeMarker模板引擎的方式。 首先,Java中导出Word...
Java Word 导出技术主要涉及的是在Java环境中创建和处理Microsoft Word文档的能力。这通常通过使用第三方库,如Apache POI或iText等来实现。...通过分析这些文件,你可以更深入地理解Java Word导出的具体实现方式。
java的word导出工具类,支持2007版word的模板导出,可导出文字、图片等
最近因项目开发的需要,整理了一份用JAVA导出WORD文档,其部署步骤如下: 1、将jacob-1.14.3-x86.dll放在服务器的系统盘(或运行本机的系统):\WINDOWS\system32目录下。 2、将jacob-1.14.3-x86.dll放在JDK 的 bin ...
在Java编程环境中,实现Word文档的导出功能是一项常见的需求,尤其在企业级应用中,如报表生成、数据导出等。本篇文章将详细讲解如何使用Java来创建和导出Word文档,同时会涉及到如何在Word中添加图表,即`chart`的...
java导出word使用freemarker模板map数据导出word带图片 可以循环map 中list。 调用的2种方法在博客 https://blog.csdn.net/yjflinchong/article/details/122614203
在给定的标题“用java实现word统计报表和图形统计的导出”中,我们可以理解到这个项目或教程旨在教我们如何使用Java来创建包含统计报表和图形的Microsoft Word文档。这通常涉及到两个关键领域:文本处理和数据可视化...
Java导出Word的插件是一种在Java应用程序中用于创建、编辑和导出Microsoft Word文档的工具。这种插件使得开发者能够方便地在Java环境中处理Word文档,而无需直接使用Microsoft Office套件。以下是对这个主题的详细...
本篇文章将深入探讨如何使用Apache POI在Java中创建和导出Word文档。 首先,我们需要在项目中引入Apache POI库。`pom.xml`文件中的依赖配置通常是这样的: ```xml <groupId>org.apache.poi <artifactId>poi ...
在Java编程环境中,导出Word文件是一项常见的任务,特别是在企业级应用中,如报表生成、文档自动化等场景。本文将详细讲解如何使用Java实现Word文件的导出,并结合提供的资源进行解析。 首先,Java导出Word文件通常...
在"java poi导出word"这个场景中,我们主要关注的是如何使用Java POI来创建和编辑Word文档。下面将详细介绍如何利用Java POI实现这些功能,并提供一些关键知识点。 1. 文字与段落: 在Java POI中,我们可以使用...
Java使用Apache POI库导出Word文档是一种常见的技术实践,特别是在企业级应用中,用于生成报告、合同或者自定义的数据输出。Apache POI是Apache软件基金会的一个开源项目,它提供了处理Microsoft Office格式(如Word...
在JAVA中实现Word文档中的电子印章效果,可以让文档看起来更加正式和权威,尤其适用于法律、合同等场景。这个过程涉及到的主要技术包括Java编程语言、Apache POI库以及可能的图像处理技术。Apache POI是一个流行的...
在Java编程环境中,导出Word文档并插入图片是一项常见的任务,尤其在自动化报告生成、数据可视化或文档处理的场景中。下面将详细讲解如何使用Java实现这个功能。 首先,我们需要一个能够操作Word文档的库。Apache ...
在Java编程中,导出Excel、Word和PDF是常见的数据呈现和报告生成需求。这些文件格式广泛用于数据存储、报表生成、文档分享等场景。以下将详细介绍如何使用Java实现这三种文件类型的导出。 首先,让我们关注Excel的...
在Java编程环境中,导出Word文件是一项常见的任务,特别是在企业级应用中,如报告生成、数据导出等。本实例将介绍如何使用Java来创建和导出Word文档,以满足这些需求。 首先,我们需要了解Java中用于处理Word文档的...