hutool+poi库+excel导出功能

自己实际开发中遇到所写笔记。有不明白的可以直接留言。

  1. 直接开始引入依赖
    <!--Hutool 工具类-->
        <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
            <version>5.3.10</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>4.1.2</version>
        </dependency>
  1. service 代码如下
    @Override
    public ExcelWriter getExport(){
        //先查询数据
        List<Permission> lists = mapper.selectAll();
        ExcelWriter writer = ExcelUtil.getWriter();
        writer.addHeaderAlias("id", "权限编号");
        writer.addHeaderAlias("name", "权限名字");
        writer.addHeaderAlias("expression", "权限表达式");
        //接收数据
        writer.write(lists, true);
        return writer;
    }
  1. 控制层的代码如下

    /****
     * 导出EXCEL 表格
     * @param response
     * @throws IOException
     */
    @RequestMapping("/export")
    @ResponseBody
    public void export(HttpServletResponse response) throws IOException {
        response.setHeader("Content-Disposition","attachment;filename=permissionData.xlsx");
        ExcelWriter writer = service.getExport();
        ServletOutputStream out = response.getOutputStream();
        writer.flush(out,true);
        IoUtil.close(out);
    }

设置颜色

//设置颜色
// 定义单元格背景色
StyleSet style = writer.getStyleSet();
// 第二个参数表示是否也设置头部单元格背景
style.setBackgroundColor(IndexedColors.RED, false);

合并单元格后的标题行,使用默认标题样式

// 合并单元格后的标题行,使用默认标题样式
 writer.merge(11,"4g预警小时");
上一篇:Sketch之初见BF


下一篇:C# .net core使用HttpClient方式调用WebService