数据库数据导入word文档
第一步:打开word,设计表格,另存为另一种格式的word也就是.xml的格式
第二步:把文档需要更改的数据替换成${字段名} 并且把修改后的文档修改后缀名.ftl,放入到eclipse的根目录下建一个文件夹
(事先填好假数据,是为了能够在xml中快速找到位置,然后修改成${字段名}的形式, .ftl是freemaker的后缀名,就是一种模板)
第三步:就是代码的体现了
@RequestMapping("exportToWord")
public void exportToWord(HttpServletRequest request, HttpServletResponse response) {
try {
Template template = FreeMarkerUtils.getTemplate(request.getSession().getServletContext(), "/cons_org_design_scheme.ftl");
Map<String, Object> root = new HashMap<String, Object>();
root.put("name", "xxxxxxxxxxxxxxxxxxxxxxx");
root.put("date", "2018-08-21");
response.setContentType("application/x-msdownload");
final HttpServletResponse responseTemp = response;
responseTemp.addHeader("Content-Disposition", "attachment;filename=" + new String("实施性施工组织方案审核表.doc".getBytes(), "ISO-8859-1"));
Writer out = new OutputStreamWriter(response.getOutputStream(), "UTF-8");
template.process(root, out);
out.flush();
out.close();
} catch (IOException e) {
e.printStackTrace();
} catch (TemplateException e) {
e.printStackTrace();
}
}
//工具类
package com.longshine.framework.crcc.utils;
import freemarker.template.Configuration;
import freemarker.template.DefaultObjectWrapper;
import freemarker.template.Template;
import javax.servlet.ServletContext;
import java.io.IOException;
/**
* Created by cheng on 2018/8/21.
*/
public class FreeMarkerUtils {
private static Configuration cfg;
public static Template getTemplate(ServletContext servletContext,String templateName){
Template template = null;
if (cfg == null) {
cfg = new Configuration();
cfg.setDefaultEncoding("UTF-8");
cfg.setServletContextForTemplateLoading(servletContext, "/export_template");
cfg.setObjectWrapper(new DefaultObjectWrapper());
}
try {
template = cfg.getTemplate(templateName);
} catch (IOException e) {
e.printStackTrace();
}
return template;
}
}
效果就是第一步中的效果了
注明:如果word里面导入图片,需要得到图片的base64格式,在扔到模板里面,附上代码转化代码如下
String imgageFile = "图片路径"
InputStream inputStream = null;
byte[] data = null;
try {
inputStream = new FileInputStream(imgageFile);
data = new byte[inputStream.available()];
inputStream.read(data);
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
// 加密
BASE64Encoder encoder = new BASE64Encoder();
String image = encoder.encode(data);
把image扔到map里传到模板里面.
再次注明这样代码生成的 base64不带,听好是不带 data:image/jpeg;base64,但是对本身程序没有影响,但是如果你想网上在线观看这个base64的图片,就加上前面这个东西 附上截图
数据库数据导入word文档相关推荐
- 数据库数据生成word文档的方法
从库里取纪录生成word文档. 主要有这么几种方法: 1.改头,就是象excel似的 Response.Buffer = TRUE Response.ContentType = "appli ...
- 我鼓捣的数据库数据生成word文档的方法!
<script language="javascript" src="/js/content_top.js" type="text/javasc ...
- Java 将表格数据导入word文档中
个人觉得这个功能实在搞笑,没什么意义,没办法提了需求就要实现,(太好说话了把我) 我的实现是再word中生成一个与 excel行,列 一样的一个表格,然后把从excel拿到的数据(exList参数)依 ...
- 用python将word文档导入数据库_python读取word文档,插入mysql数据库的示例代码
表格内容如下: 1.实现批量导入word文档,取文档标题中的数字作为编号 2.除取上面打钩的内容需要匹配出来入库入库,其他内容全部直接入库mysql # wuyanfeng # -*- coding: ...
- 用python将word文档导入数据库_python读取word文档,插入mysql数据库实例
表格内容如下: 1.实现批量导入word文档,取文档标题中的数字作为编号 2.除取上面打钩的内容需要匹配出来入库入库,其他内容全部直接入库mysql # wuyanfeng # -*- coding: ...
- java将后台数据库查询到的数据导出word文档当中
java将后台数据库查询到的数据导出word文档当中 之前项目需求使用Java导出word文档,一直没有进行整理,今天把它进行整理出来,以便以后使用到:下面是导出的word文档. // 前端报告表格 ...
- python word导入数据库_python读取word文档,插入mysql数据库实例
表格内容如下: 1.实现批量导入word文档,取文档标题中的数字作为编号 2.除取上面打钩的内容需要匹配出来入库入库,其他内容全部直接入库mysql # wuyanfeng # -*- coding: ...
- java将数据库数据转换成word文档并且生成pdf文件
目的:将数据转换成word图片的方式展现给用户 工具:openoffice +java代码 +数据库,其中openoffice有windows版本的和Linux版本的. 其中openoffice的下载 ...
- 关于用java编写生成word文档,动态添加数据到word文档的一些心得
关于用java编写生成word文档,动态添加数据到word文档的一些心得,经过翻阅了无数的有用的和无用的资料以后,总算找到了一种靠谱的方法 1.概述 经过反反复复的查阅资料,总算找到了一个靠谱的生成w ...
最新文章
- Http代理程序,基于hash缓存实现
- cxf生成客户端代码
- python画-如何用Python画各种著名数学图案 | 附图+代码
- 思科UCS服务器怎么安装系统,安装Redhat/CentOS操作系统在UCS M系列服务器
- Debug pip: Could not build wheels for _ which use PEP 517 and cannot be installed directly - Easy So
- jzoj3319-[BOI2013]雪地踪迹【bfs】
- H.264视频编解码的代码移植和优化
- 松下a6伺服x4接线图_2021中山东凤松下温控器回收价高同行
- c语言学习-对从键盘输入的一个字符串中的大英字母及数字进行计数
- LINUX下的FTP服务器
- 手机900e模式如何救_手机护眼模式真的有用吗?长时间看手机如何保护视力?...
- 焦点图,带数字显示,支持常见浏览器
- IAR的基本使用教程
- SpringBoot从入门到精通(全)
- 汉诺塔解法C语言实现
- Java SE第10章 异常处理
- Oracle EBS 寄销/VMI(1)--基础设置
- Lua 求表中元素的最大值和最小值
- 解决雅虎邮箱使用outlook只能收不能发送的问题(针对yahoo.com.cn)
- 4款一眼万年的精品软件,免费又好用,可惜很多人不知道