java(springmvc)导出excel
准备jar包jxl
pom.xml
<dependency> <groupId>net.sourceforge.jexcelapi</groupId> <artifactId>jxl</artifactId> <version>2.6.12</version> </dependency>
// 导出报名表的excel @RequestMapping(value = "/getExcel" ,method = RequestMethod.GET) public void getExcel(HttpServletRequest req, HttpServletResponse res,int courseId){ OutputStream os = null; try { os=res.getOutputStream(); } catch (IOException e) { e.printStackTrace(); } res.reset(); res.setHeader("Content-disposition","attachment;filename=报名表.xls"); res.setContentType("application/msexcel"); WritableWorkbook workbook = null; try { workbook = Workbook.createWorkbook(os); } catch (IOException e) { e.printStackTrace(); } // 创建sheet,参数一是sheet的名字,参数二是sheet页的页数 WritableSheet sheet = workbook.createSheet("sheet", 1); // 将单元格添加到sheet中 try { // 创建表头单元格并添加到sheet Label label1 = new Label(0,0,"课程报名表"); Label label2 = new Label(0,1,"id"); Label label3 = new Label(1,1,"报名课程id"); Label label4 = new Label(2,1,"用户名"); Label label5 = new Label(3,1,"报名时间"); sheet.addCell(label1); sheet.addCell(label2); sheet.addCell(label3); sheet.addCell(label4); sheet.addCell(label5); // 读取数据库拿到集合 List<CourseRegister> courseReg = regService.getCourseReg(courseId); //遍历结果将数据添加到sheet int i = 2; for (CourseRegister register : courseReg){ sheet.addCell(new Label(0,i,String.valueOf(register.getId()))); sheet.addCell(new Label(1,i,String.valueOf(register.getCourseId()))); sheet.addCell(new Label(2,i,register.getUserName())); sheet.addCell(new Label(3,i,String.valueOf(register.getCreateTime()))); i++; } // 写入数据 workbook.write(); // 关闭工作簿 workbook.close(); os.close(); } catch (WriteException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }
- 前端使用a标签访问或创建下载链接即可。