1:引入相關依賴,我用的是grodle,你們也可以去maven倉庫找一下poi這個jar
compile group: 'org.apache.poi', name: 'poi', version: '3.17'
2:寫入后台代碼,我用的是springmvc框架,其實這個都是無所謂的,代碼簡單明了,復制下來就可以拿去用,我也不做太多的介紹了,有什么不懂的可以看下注釋
/** * * @return * @name 導出數據 */ @GetMapping("exportHttp") public String daoChu(HttpServletResponse response){ List<WorkEntity> list = workService.selectAll(); // 創建excel HSSFWorkbook wk = new HSSFWorkbook(); // 創建一張工作表 HSSFSheet sheet = wk.createSheet(); // 2 sheet.setColumnWidth(0, 5000); HSSFRow row = sheet.createRow(0); // 創建第一行的第一個單元格 // 想單元格寫值 HSSFCell cell = row.createCell((short) 0); cell.setCellValue("序號"); cell = row.createCell((short)1); cell.setCellValue("職位"); cell = row.createCell((short)2); cell.setCellValue("早上上班時間"); cell = row.createCell((short)3); cell.setCellValue("早上下班時間 "); cell = row.createCell((short)4); cell.setCellValue("下午上班時間"); cell = row.createCell((short)5); cell.setCellValue("下午上班時間 "); // 創建第一行 for (short i=0;i<list.size();i++) { row = sheet.createRow(i+1); row.createCell(0).setCellValue(list.get(i).getWorkId()); row.createCell(1).setCellValue(list.get(i).getPositionName()); row.createCell(2).setCellValue(list.get(i).getAMendDate()); row.createCell(3).setCellValue(list.get(i).getAMstartDate()); row.createCell(4).setCellValue(list.get(i).getPMendDate()); row.createCell(5).setCellValue(list.get(i).getPMstartDate()); } try { /** * 彈出下載選擇路徑框 */ response.setContentType("application/octet-stream"); response.setHeader("Content-disposition", "attachment;filename=Opinion.xls");//默認Excel名稱 response.flushBuffer(); wk.write(response.getOutputStream()); wk.write(new FileOutputStream(new File("D://daochu/a.xls"))); wk.close(); } catch (IOException e) { e.printStackTrace(); } finally { } return "null"; }
3:在jsp頁碼觸發這個方法就可以了
<input type="button" value="導出" class="ui_input_btn01" id="daochule" />
<script> $(function () { $("#daochule").click(function () { window.location.href="exportHttp"; }) }) </script>>
我jsp這樣寫 寫的有點麻煩 你們也可以直接把button換成a標簽 直接href="exportHttp" 這樣就可以了 這個就是java后台導出到cxcel 有什么不懂的可以留言偶!!
