1.這里介紹使用阿里提供的方法來導出excel
2.首先我們創建一個實體類然后繼承 'BaseRowModel' 這個類,然后寫變量名在需要導出的字段上加上@ExcelProperty注解
3.然后再sql查詢語句上面的字段與變量名要一致
4.然后自己在controller層導出就好
@RequestMapping(value = "/ImportData")
public void ImportData (@RequestBody List<mutilDataImport> projectBeans, HttpServletResponse response)throws IOException {
String fileName = "多坐標數據導出";
response.setContentType("multipart/form-data");
response.setCharacterEncoding("utf-8");
response.addHeader("Content-Disposition", "filename=" + fileName+ ".xlsx");
String sheetName = "全量數據";
//設置樣式
TableStyle tableStyle=new TableStyle();
tableStyle.setTableHeadBackGroundColor(IndexedColors.SKY_BLUE);
tableStyle.setTableContentBackGroundColor(IndexedColors.WHITE1);
Font font = new Font();
font.setBold(false);
font.setFontName("宋體");
font.setFontHeightInPoints((short) 9);
tableStyle.setTableContentFont(font);
ExcelWriter writer = new ExcelWriter(response.getOutputStream(), ExcelTypeEnum.XLSX);
//寫第一個sheet, sheet1 數據全是List<String> 無模型映射關系
Sheet sheet = new Sheet(1, 0,'剛才創建的類名'.class);
Sheet sheet2 = new Sheet(2,1,剛才創建的類名.class, "去重數據",null);
sheet.setTableStyle(tableStyle);
sheet2.setTableStyle(tableStyle);
List<mutilDataImport> mutilDataImport = dataImportService.queryprojectData(projectBeans);
List<MutilDataImports> mutilDataImports = dataImportService.queryprojectData2(projectBeans);
sheet.setSheetName(sheetName);
writer.write('數據返回的集合例如這里是mutilDataImport', sheet);
writer.write('第二個sheet返回數據的集合', sheet2);
writer.finish();
}
5.導出的圖如下
