java将数据保存为Word

测试的时候可以将我写的那些代码注释回来哦

 public void getDoc(HttpServletRequest request, HttpServletResponse response,Map<String, String> map) throws IOException, TemplateException {
//        Map<String, String> dataMap = new HashMap<String, String>();
//        dataMap.put("yjId", "123456");
//        dataMap.put("name", "测试");
//
//        dataMap.put("year", "2000-11-11");
//        dataMap.put("yearEnd", "2000-11-11");
//        dataMap.put("month", "测试");
//        dataMap.put("monthEnd", "福建省福州市晋安区");
//        dataMap.put("day", "测试");
//        dataMap.put("dayEnd", "福建省福州市晋安区");
//
//        dataMap.put("yearEndTwo", "测试");
//        dataMap.put("monthEndTwo", "测试");
//        dataMap.put("dayEndTwo", "测试");
//        dataMap.put("problem", "测试");
//
//        dataMap.put("Civil", "2000-11-11");
//
//        dataMap.put("problemEnd", "福建省福州市晋安区");
//        dataMap.put("government", "福建省福州市晋安区");
        //调用打印word的函数
        Configuration configuration = new Configuration(new Version("2.3.0"));
        configuration.setDefaultEncoding("utf-8");

        /**
         * 以下是两种指定ftl文件所在目录路径的方式,注意这两种方式都是
         * 指定ftl文件所在目录的路径,而不是ftl文件的路径
         */
        //指定路径的第二种方式,我的路径是C:/a.ftl
        //configuration.setDirectoryForTemplateLoading(new File("D:/桌面文件/太极二号工程"));
        configuration.setDirectoryForTemplateLoading(new File(System.getProperty("user.dir") + "\\tai-admin\\src\\main\\resources\\" ));
        //输出文档路径及名称
        File outFile = new File("D:/桌面文件/太极二号工程/告知书.doc");
        //以utf-8的编码读取ftl文件
        Template template = configuration.getTemplate("word.ftl", "utf-8");
        Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile), "utf-8"), 10240);
        template.process(map, out);
        out.close();
    }

这里的ftl文件是通过Word文档先将数据模板写好,然后将格式另存为xml,最后更改文件后缀为ftl文件的,这里我解释一下动态参数,在Word模板中,直接将需要动态入参的数据使用${xxxx}包裹起来“xxxx”为我们入参的参数名,其余的具体代码解释我已经打了注释,可以参考一下,如果有不对的地方,可以关注私聊博主,欢迎交流学习哦!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值