第一步:打开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文档相关推荐

  1. 数据库数据生成word文档的方法

    从库里取纪录生成word文档. 主要有这么几种方法: 1.改头,就是象excel似的 Response.Buffer = TRUE Response.ContentType = "appli ...

  2. 我鼓捣的数据库数据生成word文档的方法!

    <script language="javascript" src="/js/content_top.js" type="text/javasc ...

  3. Java 将表格数据导入word文档中

    个人觉得这个功能实在搞笑,没什么意义,没办法提了需求就要实现,(太好说话了把我) 我的实现是再word中生成一个与 excel行,列 一样的一个表格,然后把从excel拿到的数据(exList参数)依 ...

  4. 用python将word文档导入数据库_python读取word文档,插入mysql数据库的示例代码

    表格内容如下: 1.实现批量导入word文档,取文档标题中的数字作为编号 2.除取上面打钩的内容需要匹配出来入库入库,其他内容全部直接入库mysql # wuyanfeng # -*- coding: ...

  5. 用python将word文档导入数据库_python读取word文档,插入mysql数据库实例

    表格内容如下: 1.实现批量导入word文档,取文档标题中的数字作为编号 2.除取上面打钩的内容需要匹配出来入库入库,其他内容全部直接入库mysql # wuyanfeng # -*- coding: ...

  6. java将后台数据库查询到的数据导出word文档当中

    java将后台数据库查询到的数据导出word文档当中 之前项目需求使用Java导出word文档,一直没有进行整理,今天把它进行整理出来,以便以后使用到:下面是导出的word文档. // 前端报告表格 ...

  7. python word导入数据库_python读取word文档,插入mysql数据库实例

    表格内容如下: 1.实现批量导入word文档,取文档标题中的数字作为编号 2.除取上面打钩的内容需要匹配出来入库入库,其他内容全部直接入库mysql # wuyanfeng # -*- coding: ...

  8. java将数据库数据转换成word文档并且生成pdf文件

    目的:将数据转换成word图片的方式展现给用户 工具:openoffice +java代码 +数据库,其中openoffice有windows版本的和Linux版本的. 其中openoffice的下载 ...

  9. 关于用java编写生成word文档,动态添加数据到word文档的一些心得

    关于用java编写生成word文档,动态添加数据到word文档的一些心得,经过翻阅了无数的有用的和无用的资料以后,总算找到了一种靠谱的方法 1.概述 经过反反复复的查阅资料,总算找到了一个靠谱的生成w ...

最新文章

  1. Http代理程序,基于hash缓存实现
  2. cxf生成客户端代码
  3. python画-如何用Python画各种著名数学图案 | 附图+代码
  4. 思科UCS服务器怎么安装系统,安装Redhat/CentOS操作系统在UCS M系列服务器
  5. Debug pip: Could not build wheels for _ which use PEP 517 and cannot be installed directly - Easy So
  6. jzoj3319-[BOI2013]雪地踪迹【bfs】
  7. H.264视频编解码的代码移植和优化
  8. 松下a6伺服x4接线图_2021中山东凤松下温控器回收价高同行
  9. c语言学习-对从键盘输入的一个字符串中的大英字母及数字进行计数
  10. LINUX下的FTP服务器
  11. 手机900e模式如何救_手机护眼模式真的有用吗?长时间看手机如何保护视力?...
  12. 焦点图,带数字显示,支持常见浏览器
  13. IAR的基本使用教程
  14. SpringBoot从入门到精通(全)
  15. 汉诺塔解法C语言实现
  16. Java SE第10章 异常处理
  17. Oracle EBS 寄销/VMI(1)--基础设置
  18. Lua 求表中元素的最大值和最小值
  19. 解决雅虎邮箱使用outlook只能收不能发送的问题(针对yahoo.com.cn)
  20. 4款一眼万年的精品软件,免费又好用,可惜很多人不知道

热门文章

  1. 东方欲晓,莫道君行早
  2. 视频直播系统源码,平台在日间和夜间模式之间来回切换
  3. 安化云台山第二届星空帐篷音乐节盛大启动
  4. ssh隧道连接的3种方式
  5. 浙江大学-翁凯 C语言进阶,编程题
  6. 被孙杨遮挡LOGO的安踏,到底做错了什么?
  7. FTP服务器获取文件,并解析GRB2文件获取数据
  8. 【EmailCamel外贸邮件群发】邮件到达收件箱系列文章05:免费公共邮箱作为发件人的限制
  9. xp win7 绿色chrome
  10. Unity (C#) 使用 LitJson 处理 JSON 数据