java后端导出excel表格
转载 :https://www.cnblogs.com/zhaoyuwei/p/9038135.html
不需要在实体类些@Excel(name = "登录名", width = 16, orderNum = "1")这些
1 @RequestMapping("/exportExcel.do") 2 public void export(HttpServletResponse response) { 3 //从数据库查询出数据 4 List<User> list = userService.selectAll(); 5 // 创建excel 6 HSSFWorkbook wk = new HSSFWorkbook(); 7 // 创建一张工作表 8 HSSFSheet sheet = wk.createSheet("用户表"); 9 // 设置工作表中的1-3列的宽度 10 sheet.setColumnWidth(0, 5000); 11 sheet.setColumnWidth(1, 5000); 12 sheet.setColumnWidth(2, 5000); 13 //创建第一行 14 HSSFRow row1 = sheet.createRow(0); 15 // 创建第一行的第一个单元格 16 // 向单元格写值 17 HSSFCell cell = row1.createCell(0); 18 cell.setCellValue("用户表"); 19 //合并单元格CellRangeAddress构造参数依次表示起始行,截止行,起始列,截至列。 20 //0表示 第一行第一列 21 sheet.addMergedRegion(new CellRangeAddress(0,0,0,2)); 22 //创建第二行 23 HSSFRow row2 = sheet.createRow(1); 24 row2.createCell(0).setCellValue("登录名"); 25 row2.createCell(1).setCellValue("年龄"); 26 row2.createCell(2).setCellValue("昵称"); 27 28 // 创建第一行 29 for (int i = 0; i < list.size(); i++) { 30 //创建行 一条数据一行 31 HSSFRow row = sheet.createRow(i + 2); 32 row.createCell(0).setCellValue(list.get(i).getName()); 33 row.createCell(1).setCellValue(list.get(i).getAge()); 34 row.createCell(2).setCellValue(list.get(i).getNickName()); 35 } 36 try { 37 /** 38 * 弹出下载选择路径框 39 */ 40 Date date = new Date(); 41 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); 42 String str = sdf.format(date); 43 response.setContentType("application/octet-stream"); 44 response.setHeader("Content-disposition", "attachment;filename=" + str + ".xls");// 默认Excel名称 45 response.flushBuffer(); 46 wk.write(response.getOutputStream()); 47 // wk.write(new FileOutputStream(new File("D://daochu"))); 48 wk.close(); 49 } catch (IOException e) { 50 e.printStackTrace(); 51 } 52 53 }
前端代码和js
<input type="button" value="导出" class="ui_input_btn01" id="daochule" /> $(function () { $("#daochule").click(function () { window.location.href="exportExcel.do"; }) })
依赖
1 <!--导出的核心依赖-->
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-base</artifactId>
<version>3.2.0</version>
</dependency>
就可以直接导出excel表