IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> java根据模板导出word poi-tl使用Word模板和数据创建Word文档 -> 正文阅读

[移动开发]java根据模板导出word poi-tl使用Word模板和数据创建Word文档

java根据模板导出word

poi-tl(poi template language)是Word模板引擎,使用Word模板和数据创建很棒的Word文档。poi-tl官方文档

  1. 创建word模板

模板是Docx格式的Word文档,所有的标签都是以{{开头,以}}结尾,标签可以出现在任何位置,包括页眉,页脚,表格内部,文本框等,表格布局可以设计出很多优秀专业的文档,推荐使用表格布局。
poi-tl模板遵循“所见即所得”的设计,模板和标签的样式会被完全保留。

下面是一个简单的word模板,包括了文本、图片、列表行循环。
在这里插入图片描述
代码测试word模板存放位置如下:
在这里插入图片描述

  1. 导包
		<dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
            <version>5.6.3</version>
        </dependency>
        <dependency>
            <groupId>com.deepoove</groupId>
            <artifactId>poi-tl</artifactId>
            <version>1.10.0</version>
        </dependency>
  1. 根据模板填充内容
public class ExportWordUtil {

    private static final String IMAGE_URL = "D:/test/test.png";

    private static final String TMP_URL = "D:/test/";

    /**
     * 获取根据模板生成word的数据
     * @param list          列表数据 
     * @param base64Image   图片的base64
     * @return  Map<String, Object>     数据集
     * @throws IOException
     */
    public static Map<String, Object> getDataMap(List<Map<String, String>> list, String base64Image) throws IOException {
        Map<String, Object> dataMap = new HashMap<>();

        //list列表对应模板
        dataMap.put("person_list", list);
        //字符串对应模板
        dataMap.put("createTime", DateUtil.date());
        dataMap.put("creator","测试人员");

        //如果是根据base64流在指定位置生成图片
        String url = TMP_URL;
        //文件夹不存在就创建
        FileUtil.mkdir(url);
        getImageByBase64ByUrl(base64Image, IMAGE_URL);

        //图片存放  根据地址获取
        dataMap.put("image", new PictureRenderData(400, 400, IMAGE_URL));

        return dataMap;
    }


    /**
     * 根据base64图片生成图片保存到指定地址
     * @param baseImage     base64图片
     * @param url           图片暂存地址
     * @throws IOException
     */
    public static void getImageByBase64ByUrl(String baseImage, String url) throws IOException {
        //图片的处理
        BASE64Decoder decoder = new BASE64Decoder();
        //创建文件
        File file = FileUtil.newFile(url);
        //判断文件是否存在
        if(!file.exists()){
            FileUtil.file(file);
        }
        try (OutputStream out = new FileOutputStream(url)) {
            //Base64解码
            byte[] b = decoder.decodeBuffer(baseImage.split(",")[1]);
            for (int i = 0; i < b.length; ++i) {
                if (b[i] < 0) {
                    b[i] += 256;
                }
            }
            //生成jpeg图片
            out.write(b);
            out.flush();
        } catch (IOException e) {
           throw new IOException(e);
        }
    }
}
  1. 生成word文档流
	/**
     * word模板存放位置
     */
    public static final String TEMPLATE_URL = "word/template.docx";

    /**
     * 导出文件头值
     */
    public static final String EXPORT_HEADER = "attachment;filename=";

    /**
     * word导出content_type
     */
    public static final String CONTENT_TYPE_WORD = "application/octet-stream";
    /**
     * 文件头参数
     */
    public static final String HEADER = "Content-Disposition";
	/**
     * 导出word以流的形式输出
     *
     * @param response the response
     * @throws IOException the io exception
     */
    @GetMapping("tool/exportWord")
    public void exportWord(HttpServletResponse response) throws IOException{
        //列表数据  
        List<Map<String, String>> list = new ArrayList<>();
        for (int i = 0; i < 3; i++) {
            Map<String, String> map = new HashMap<>();
            //map的键对应模板里表格行的代码
            map.put("no", String.valueOf(i));
            map.put("name","测试-" + i);
            map.put("tel","17812973231");
            list.add(map);
        }
        String base64Image = "data:image/png;base64,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";

        //根据模板进行数据处理
        Map<String, Object> dataMap = ExportWordUtil.getDataMap(list, base64Image);
        //表格插入
        LoopRowTableRenderPolicy policy = new LoopRowTableRenderPolicy();
        //绑定列表
        ConfigureBuilder configureBuilder = Configure.builder().bind("person_list",policy);
        Configure config = configureBuilder.build();
        //获取word模板
        ClassPathResource resource = new ClassPathResource(SMART_ANALYSIS_TEMPLATE_URL);
        XWPFTemplate template = null;
        try {
            template = XWPFTemplate.compile(resource.getInputStream(), config).render(dataMap);
            response.setContentType(CONTENT_TYPE_WORD);
            response.setHeader(HEADER, EXPORT_HEADER + "结果导出.docx");
            OutputStream out = response.getOutputStream();
            BufferedOutputStream bos = new BufferedOutputStream(out);
            template.write(out);
            bos.flush();
            out.flush();
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            if(template != null){
                try {
                    template.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
  1. 生成word文档到指定位置
	/**
     * word模板存放位置
     */
    public static final String TEMPLATE_URL = "word/template.docx";

    /**
     * 导出文件头值
     */
    public static final String EXPORT_HEADER = "attachment;filename=";

    /**
     * word导出content_type
     */
    public static final String CONTENT_TYPE_WORD = "application/octet-stream";
    /**
     * 文件头参数
     */
    public static final String HEADER = "Content-Disposition";
    /**
     * 导出word以流的形式输出
     *
     * @throws IOException the io exception
     */
    @GetMapping("tool/exportWord")
    public void exportWord() throws IOException{
        //列表数据
        List<Map<String, String>> list = new ArrayList<>();
        for (int i = 0; i < 3; i++) {
            Map<String, String> map = new HashMap<>();
            map.put("no", String.valueOf(i));
            map.put("name","测试-" + i);
            map.put("tel","17812973231");
            list.add(map);
        }
        String base64Image = "data:image/png;base64,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";

        //根据模板进行数据处理
        Map<String, Object> dataMap = ExportWordUtil.getDataMap(list, base64Image);
        //表格插入
        LoopRowTableRenderPolicy policy = new LoopRowTableRenderPolicy();
        //绑定列表
        ConfigureBuilder configureBuilder = Configure.builder().bind("person_list",policy);
        Configure config = configureBuilder.build();
        //获取word模板
        ClassPathResource resource = new ClassPathResource(TEMPLATE_URL);
        XWPFTemplate template = null;
        try {
            template = XWPFTemplate.compile(resource.getInputStream(), config).render(dataMap);
            OutputStream out = new FileOutputStream("D:/test/test.docx");
            template.write(out);
            out.flush();
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            if(template != null){
                try {
                    template.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
  1. 导出效果图
    在这里插入图片描述
  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-05-11 16:33:45  更:2022-05-11 16:34:38 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 1:35:06-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码