Easypoi模版匯出excel
阿新 • • 發佈:2019-01-25
@Controller @RequestMapping(value = "exportexcel") public class ExportExcelTest { @RequestMapping(value="exportexceltest") @ResponseBody public String exportExcelTest(HttpServletResponse response){ // 獲取workbook物件 Workbook workbook = exportSheetByTemplate() ; // 判斷資料 if(workbook == null) { return "fail"; } // 設定excel的檔名稱 String excelName = "測試excel" ; // 重置響應物件 response.reset(); // 當前日期,用於匯出檔名稱 SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); String dateStr = "["+excelName+"-"+sdf.format(new Date())+"]"; // 指定下載的檔名--設定響應頭 response.setHeader("Content-Disposition", "attachment;filename=" +dateStr+".xls"); response.setContentType("application/vnd.ms-excel;charset=UTF-8"); response.setHeader("Pragma", "no-cache"); response.setHeader("Cache-Control", "no-cache"); response.setDateHeader("Expires", 0); // 寫出資料輸出流到頁面 try { OutputStream output = response.getOutputStream(); BufferedOutputStream bufferedOutPut = new BufferedOutputStream(output); workbook.write(bufferedOutPut); bufferedOutPut.flush(); bufferedOutPut.close(); output.close(); } catch (IOException e) { e.printStackTrace(); } return "success"; } /** * 模版單sheet匯出示例 * @return */ public Workbook exportSheetByTemplate(){ // 查詢資料,此處省略 List list = new ArrayList<>(); int count1 = 0 ; EasyPOIModel easyPOIModel11 = new EasyPOIModel(String.valueOf(count1++),"信科",new User("張三","男",20)) ; EasyPOIModel easyPOIModel12 = new EasyPOIModel(String.valueOf(count1++),"信科",new User("李四","男",17)) ; EasyPOIModel easyPOIModel13 = new EasyPOIModel(String.valueOf(count1++),"信科",new User("淑芬","女",34)) ; EasyPOIModel easyPOIModel14 = new EasyPOIModel(String.valueOf(count1++),"信科",new User("仲達","男",55)) ; list.add(easyPOIModel11) ; easyPOIModel11 = null ; list.add(easyPOIModel12) ; easyPOIModel12 = null ; list.add(easyPOIModel13) ; easyPOIModel13 = null ; list.add(easyPOIModel14) ; easyPOIModel14 = null ; // 設定匯出配置 // 獲取匯出excel指定模版 TemplateExportParams params = new TemplateExportParams("d:/專案測試資料夾/easypoiExample.xlsx"); // 標題開始行 params.setHeadingStartRow(0); // 標題行數 params.setHeadingRows(2); // 設定sheetName,若不設定該引數,則使用得原本得sheet名稱 params.setSheetName("班級資訊"); // 匯出excel return ExcelExportUtil.exportExcel(params, EasyPOIModel.class,list, new HashMap<>()); } }