1 . 添加依赖
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.0.1</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.0.1</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-schemas</artifactId>
<version>4.0.1</version>
</dependency>
2 . 代码
public void exportExcel(String memuid, String enterpriseid, HttpServletResponse response) throws IOException {
//创建工作簿
XSSFWorkbook workbook = new XSSFWorkbook();
//创建一个sheet
XSSFSheet sheet = workbook.createSheet();
//操作第一行
XSSFRow row = sheet.createRow(0);
//查询数据
BaseFormListRequestVO baseFormListRequestVO=new BaseFormListRequestVO();
baseFormListRequestVO.setEnterpriseid(enterpriseid);
baseFormListRequestVO.setMenuid(memuid);
List<BaseformsettingsPO> formList = BaseformsettingsPOMapper.getSetting(baseFormListRequestVO);
//将获取的数据填充到第一行
for (int i=0;i<formList.size();i++){
//创建单元格并填充数据, 单元格下标从0开始可以直接操作
row.createCell(i).setCellValue(formList.get(i).getFielddecription());
}
//获取文件名
BasemenuPO basemenuPO = BasemenuPOMapper.selectByPrimaryKey(memuid);
//给文件名加上后缀
String fileName=basemenuPO.getMemuname()+".xlsx";
//文件名编码格式
fileName = URLEncoder.encode(fileName, "UTF-8");
//设置请求头,这里生成完成要下载
response.addHeader("Content-Disposition", "attachment;filename=" + fileName);
response.setCharacterEncoding("UTF-8");
response.setContentType("application/x-download");
//获取输出流
OutputStream outputStream=response.getOutputStream();
//下载
workbook.write(outputStream);
//关闭资源
outputStream.close();
workbook.close();
}