主要就是:exportBigExcel 這個方法。
@ApiOperation(value = "故障分析表",notes = "條件查詢和展示")
@RequestMapping(value = "/getExportFaultResult", method = RequestMethod.POST)
public void getFaultResult(@RequestBody JSONObject obj,HttpServletResponse response){
String provinceLevelOrgCode = (String)obj.get("provinceLevelOrgCode");
String stationLevelType = (String)obj.get("stationLevelType");
String manufactureName = (String)obj.get("manufactureName");
String provincePrCode = (String)obj.get("provincePrCode");
String provinceOmOrgCode = (String)obj.get("provinceOmOrgCode");
String faultType = (String)obj.get("faultType");
String stakeDateStart = (String)obj.get("stakeDateStart");
String stakeDateEnd = (String)obj.get("stakeDateEnd");
List<FaultAnalysisResult> pageOperationResult = null;
try {
pageOperationResult = aiOperationFaultService.getExportFaultResult(provinceLevelOrgCode,stationLevelType,manufactureName,provincePrCode,provinceOmOrgCode,faultType,stakeDateStart,stakeDateEnd);
exportBigExcel(response,pageOperationResult,FaultAnalysisResult.class,"導出故障表數據","sheet2");
} catch (Exception e) {
e.printStackTrace();
}
}
//easyPOI導出
public void exportBigExcel(HttpServletResponse response, List<?> list, Class<?> pojoClass, String title, String sheetName) throws IOException {
ExportParams params = new ExportParams(title, sheetName);
Workbook workbook = ExcelExportUtil.exportBigExcel(params, pojoClass, list);
ExcelExportUtil.closeExportBigExcel();
//文件名
String s = pojoClass.getName();
String fileName = s.substring(s.lastIndexOf(".")+1,s.length())+System.currentTimeMillis()+".xlsx";
setResponseHeader(response,fileName);
ServletOutputStream outputStream = null;
outputStream = response.getOutputStream();
workbook.write(outputStream);
outputStream.close();
}
//發送響應流方法
public void setResponseHeader(HttpServletResponse response, String fileName) {
try {
try {
fileName = new String(fileName.getBytes(),"UTF-8");
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
response.setContentType("application/octet-stream;charset=UTF-8");
response.setHeader("Disposition", "attachment;filename="+ fileName);
response.addHeader("Pargam", "no-cache");
response.addHeader("Cache-Control", "no-cache");
response.addHeader("Access-Control-Expose-Headers","Disposition");
} catch (Exception ex) {
ex.printStackTrace();
}
}