/**
* 创建excel,并插入数据
* @param titleList
* @param rowsList
*/
public AjaxResult createExcelView(List<String> titleList, List<Map<String, Object>> rowsList, String sheetName) {
OutputStream out = null;
HSSFWorkbook workbook = new HSSFWorkbook();
try {
HSSFSheet sheet = workbook.createSheet(sheetName);
HSSFRow titleRow = sheet.createRow(0);
HSSFCell cell = titleRow.createCell(0);
//设置表头
for(int i = 0; i < titleList.size(); i++) {
cell.setCellValue(titleList.get(i));
cell = titleRow.createCell(i + 1);
}
for(int i = 0; i < rowsList.size(); i++) {
Map<String, Object> map = rowsList.get(i);
HSSFRow bodyRow = sheet.createRow(i + 1);
for(int k = 0; k < titleList.size(); k++) {//按照表头的数据,取数据
cell = bodyRow.createCell(k);
if (map.containsKey(titleList.get(k))){
cell.setCellValue(String.valueOf(map.get(titleList.get(k))));
}
}
}
String filename = UUID.randomUUID().toString() + ".xlsx";
out = new FileOutputStream(getAbsoluteFile(filename));
workbook.write(out);
return AjaxResult.success(filename);
} catch (Exception e) {
e.printStackTrace();
} finally {
try
{
workbook.close();
}
catch (IOException e1)
{
e1.printStackTrace();
}
if (null != out)
{
try
{
out.close();
}
catch (IOException e1)
{
e1.printStackTrace();
}
}
}
return null;
}
pom文件jar包
<!-- excel工具 -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.17</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>2.1.2</version>
</dependency>
控制层
直接return 方法结果