自己实际开发中遇到所写笔记。有不明白的可以直接留言。
- 直接开始引入依赖
<!--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>
- 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;
}
- 控制层的代码如下
/****
* 导出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预警小时");