pol-tl导出word
生活随笔
收集整理的这篇文章主要介绍了
pol-tl导出word
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
poi-tl使用word模板生成word文件
导入依赖
com.deepoove poi-tl 1.12.0模板
{{startTime}}获取时间, {{?list}}列表list{{value}}{{_is_last ? '。' : ';'}}{{/list}}word工具类
package com.example.poitl.utils;import cn.hutool.core.io.resource.ResourceUtil; import com.deepoove.poi.XWPFTemplate; import com.deepoove.poi.config.Configure; import com.deepoove.poi.config.ConfigureBuilder; import lombok.extern.slf4j.Slf4j;import java.io.*; import java.util.Map;/*** word工具类*/ @Slf4j public class WpsUtill {/*** @author Jim* @description:导出word* @date 2021/8/12 15:09* @param //[data]* @return void*/public static void exportWord(Map<String,Object> data) {//文件路径String filePath = "C:\\Users\\99250\\Desktop\\template.docx";try {//设置导出路径 创建一个word目录String path = "C:\\Users\\99250\\Desktop\\template.docx ";File file = new File(path);//如果不存在则创建if (!file.exists()) {file.mkdirs();}//获取文件名称String name = getFilename();//获取模板XWPFTemplate template = getWordTemplate(data);//输出到指定目录下filePath = path+name;FileOutputStream ostream = new FileOutputStream(filePath);template.write(ostream);//关闭输出流ostream.flush();ostream.close();template.close();}catch(IOException e){//异常处理log.error("文件导出错误", e);}}/*** @author Jim* @description:获取导出word的文件名称* @date 2021/8/12 15:09* @param// []* @return java.lang.String*/private static String getFilename() {//获取100以内的随机数double random = Math.random();return "想输入的文件名"+random*100+".docx";}/*** @author Jim* @description:获取word模板添加数据后的word文档* @date 2021/8/12 15:10* @param// [data]* @return com.deepoove.poi.XWPFTemplate*/private static XWPFTemplate getWordTemplate (Map<String,Object> data) {//获取模板的输入流InputStream stream = ResourceUtil.getStream("C:\\Users\\99250\\Desktop\\template.docx");ConfigureBuilder builder = Configure.builder();builder.useSpringEL();XWPFTemplate template = XWPFTemplate.compile(stream,builder.build()).render(data);return template;} }Controller类
package com.example.poitl.controller;import com.example.poitl.utils.WpsUtill ; import com.sun.org.apache.xml.internal.security.utils.JavaUtils; import lombok.extern.slf4j.Slf4j;import java.util.*;/*** @author :Jim* @date :Created in 2021/8/10 17:29* @description:导出word控制类* @modified By:* @version: 1.0.0$*/ @Slf4j public class WordController {public static void main(String[] args) {//模拟数据Map<String, Object> map = new HashMap<>();map.put("startTime", new Date());List<Map<String, Object>> list = new ArrayList<Map<String, Object>>() {{add(new HashMap<String, Object>() {{this.put("value","list1");}});add(new HashMap<String, Object>() {{this.put("value","list2");}});add(new HashMap<String, Object>() {{this.put("value","list3");}});}};map.put("list", list);WpsUtill.exportWord(map);}}总结
以上是生活随笔为你收集整理的pol-tl导出word的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 吕守升老师--沪师经纪
- 下一篇: SwiftUI Swift内功之Swif