Springboot/SpringMVC+POI 实现Excel导出功能(点击下载方式实现)
2017-08-02 09:44
1021 查看
代码功能:
在前端jsp页面上有一个链接或按钮,单击之后进入Controller层的接口,然后弹出弹框下载导出的Excel,最后将这个excel表格下载到客户端指定路径!
工具:IDEA
pom.xml添加依赖:
Controller层接口代码:
浏览器输入链接测试一下:
localhost:8080/download?startTime=2017-07-26 8:57:59&endTime=2018-08-28 18:57:59(有无参数按项目情况而定)
显示截图如下,即可下载导出的Excel到客户端:
在前端jsp页面上有一个链接或按钮,单击之后进入Controller层的接口,然后弹出弹框下载导出的Excel,最后将这个excel表格下载到客户端指定路径!
工具:IDEA
pom.xml添加依赖:
Controller层接口代码:
@RequestMapping("/download") public void downstudents(HttpServletRequest request, HttpServletResponse response,@RequestParam String startTime, @RequestParam String endTime)throws IOException { //我这是根据前端传来的起始时间来查询数据库里的数据,如果没有输入变量要求,保留前两个就行 String[] headers = { "ID", "主题", "姓名", "手机","创建时间","开始时间","结束时间"};//导出的Excel头部,这个要根据自己项目改一下 List dataset = videoMeetInfoMapper.sel aa65 ectByTime(startTime,endTime);//查询出来的数据,根据自己项目改一下 //下面的完全不动就行了(Excel数据中不包含图片) // 声明一个工作薄 HSSFWorkbook workbook = new HSSFWorkbook(); // 生成一个表格 HSSFSheet sheet = workbook.createSheet(); // 设置表格默认列宽度为15个字节 sheet.setDefaultColumnWidth((short) 18); HSSFRow row = sheet.createRow(0); for (short i = 0; i < headers.length; i++) { HSSFCell cell = row.createCell(i); HSSFRichTextString text = new HSSFRichTextString(headers[i]); cell.setCellValue(text); } //遍历集合数据,产生数据行 Iterator it = dataset.iterator(); int index = 0; while (it.hasNext()) { index++; row = sheet.createRow(index); demo t = (demo) it.next(); //利用反射,根据javabean属性的先后顺序,动态调用getXxx()方法得到属性值 Field[] fields = t.getClass().getDeclaredFields(); for (short i = 0; i < fields.length; i++) { HSSFCell cell = row.createCell(i); Field field = fields[i]; String fieldName = field.getName(); String getMethodName = "get" + fieldName.substring(0, 1).toUpperCase() + fieldName.substring(1); try { Class tCls = t.getClass(); Method getMethod = tCls.getMethod(getMethodName, new Class[]{}); Object value = getMethod.invoke(t, new Object[]{}); String textValue = null; if (value instanceof Date) { Date date = (Date) value; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); textValue = sdf.format(date); } else { //其它数据类型都当作字符串简单处理 textValue = value.toString(); } HSSFRichTextString richString = new HSSFRichTextString(textValue); HSSFFont font3 = workbook.createFont(); font3.setColor(HSSFColor.BLUE.index);//定义Excel数据颜色 richString.applyFont(font3); cell.setCellValue(richString); } catch (SecurityException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (NoSuchMethodException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalArgumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (InvocationTargetException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } response.setContentType("application/octet-stream"); response.setHeader("Content-disposition", "attachment;filename=createList.xls");//默认Excel名称 response.flushBuffer(); workbook.write(response.getOutputStream()); }
浏览器输入链接测试一下:
localhost:8080/download?startTime=2017-07-26 8:57:59&endTime=2018-08-28 18:57:59(有无参数按项目情况而定)
显示截图如下,即可下载导出的Excel到客户端:
相关文章推荐
- SpringMVC+POI 实现Excel按模板方式简单导出功能
- spring+springmvc+hibernate利用poi实现导出Excel功能
- SpringMVC/SpringBoot使用easypoi实现Excel文件导入导出功能实现
- SpringBoot中使用POI,快速实现Excel导入导出
- Apache-POI实现Excel文档的导出下载功能
- SpringMVC+Hibernate +MySql+ EasyUI实现POI导出Excel(二)
- SpringMVC+POI下载文件模板和导出Excel
- Spring Boot--POI导出excel文件下载
- Spring+SpringMVC+MyBatis +apche poi 实现excel 导出工具类封装
- asp.net mvc导出excel文件先保存到服务器某个目录,然后再导出到客户端供客户下载功能的实现
- SpringBoot中使用POI,快速实现Excel导入导出
- SpringMVC+Hibernate +MySql+ EasyUI实现POI导出Excel(二)
- Apache-POI实现Excel文档的导出下载功能
- 【poi excel导出】不同浏览器的编码方式,解决下载文件名称乱码
- 来段代码提提神-Java实现EXCEL模板化导出:ajax+springMVC或者Struts为例
- Java POI 导出EXCEL经典实现 Java导出Excel弹出下载框
- springMVC+poi导出excel
- Java POI 导出EXCEL经典实现 Java导出Excel弹出下载框
- Java实现POI导出Excel报表功能
- springmvc + mybatis + poi导出Excel实例