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 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 【poi-tl 最新详细使用教程】 -> 正文阅读

[开发测试]【poi-tl 最新详细使用教程】

本文通过简单介绍几个示例? 实现 word简单导出??

①maven引用

<dependency>
    <groupId>com.deepoove</groupId>
    <artifactId>poi-tl</artifactId>
    <version>1.9.0</version>
</dependency>

<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>4.1.2</version>
</dependency>

②word导出公共方法

 public static void exportWordToPath(@NotNull String templateName,
                                        @NotNull Map dataMap,
                                        @NotNull HttpServletResponse response, String fileName) throws IOException {
        XWPFTemplate xwpfTemplate = null;
        OutputStream outputStream = response.getOutputStream();
        try {
            ListRenderPolicy policy = new ListRenderPolicy();
            // 配置
            Configure config = Configure.newBuilder().bind("yqst", policy).build();
            InputStream inputStream = getTemplateFile(templateName);
            // 编译模板,填充数据
            xwpfTemplate = XWPFTemplate
                    .compile(inputStream, config)
                    .render(dataMap);
            //设置Http响应头告诉浏览器下载这个附件
            fileName = new String(fileName.getBytes(), StandardCharsets.ISO_8859_1);
            response.setHeader("Content-Disposition", "attachment;Filename=" + fileName + ".docx");
            response.setContentType("application/octet-stream");
            OutputStream toClient = new BufferedOutputStream(response.getOutputStream());
            xwpfTemplate.write(toClient);
            toClient.flush();
        } catch (IOException e) {
            response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
            throw new RuntimeException("生成文件失败!");
        } finally {
            if (xwpfTemplate != null) {
                xwpfTemplate.close();
            }
            outputStream.close();
        }

    }

③导出示例

 @GetMapping("/exportWord")
    public void exportWord(HttpServletResponse response) throws IOException {

        Map<String, Object> map = new HashMap<>();

        //简单的文字导出
        map.put("name","这是一个简单的导出");

        //list导出  config需绑定 对象
        List<Object> list =new ArrayList<>();

        Style style = new Style();
        style.setBold(true);
        style.setColor("FF0040");
        style.setFontSize(15);


        /**
         * 可以对文字进行风格设置
         */
        list.add(new TextRenderData("听妈妈的话",style));
        list.add(new TextRenderData("夜曲"));
        list.add(new TextRenderData("止战之殇"));


        map.put("yqst", list);

        //表格导出  textColor 可定义字体颜色 bgColor 可定义单元格背景颜色 center表示居中

        RowRenderData rows0 = Rows.of("歌手", "专辑名称","主打歌").textColor("2E2E2E").bgColor("F4FA58").center().create();
        RowRenderData rows1 = Rows.of("周杰伦", "范特西","爱在西元前").textColor("0040FF").bgColor("F8E0EC").center().create();

        map.put("table", Tables.create(rows0,rows1));

        WordExportUtil.exportWordToPath("simple.docx", map, response, "第一个导出示例");
    }

④模板示例

?

看下导出结果:

?

?有不懂的可以留言~

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2022-04-22 19:07:17  更:2022-04-22 19:09:47 
 
开发: 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年5日历 -2024/5/19 8:48:43-

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