POI导出Excel文件,浏览器点击可下载
2018-01-17 15:16
399 查看
说明:使用SpringMVC+POI
1:服务端代码
/** * 导出日志查询列表 */ @RequestMapping(value = "/log_excel") public void exportLogList(HttpServletRequest request, OperationLog vo, @RequestParam(value = "pageNo", required = false) Integer pageNo,HttpServletResponse response) throws CodeException { try { HSSFWorkbook workbook = new HSSFWorkbook(); HSSFSheet sheet = workbook.createSheet("日志信息列表"); HSSFRow headRow = sheet.createRow(0); //这是一些要导出列的标题 String[] title = new String[] { "ID","操作时间"}; for (int i = 0; i < title.length; i++) { headRow.createCell(i).setCellValue(title[i]); } //要导出的数据对象集合 List<OperationLog> list = page.getBeans(); if (list != null && list.size() > 0) { for (OperationLog log : list) { HSSFRow dataRow = sheet.createRow(sheet.getLastRowNum() + 1); this.setCellStyle(workbook,dataRow.createCell(0),log.getId()); this.setCellStyle(workbook,dataRow.createCell(1),new SimpleDateFormat("yyyy-MM-dd").format(log.getCreateTime())); } } sheet.autoSizeColumn(1, true); //对象置空 list = null; response.reset(); response.setContentType("application/ms-excel;charset=UTF-8"); response.setHeader("Content-Disposition", "attachment;filename=".concat(String.valueOf(URLEncoder.encode("日志信息列表.xls", "UTF-8")))); try { workbook.write(response.getOutputStream()); response.getOutputStream().flush(); } catch (Exception e) { sysLog.error("日志列表Excel导出出错", e); throw e; }finally{ if(workbook!=null){ workbook.close(); } if(response.getOutputStream()!=null){ response.getOutputStream().close(); } } } catch (CodeException ce) { sysLog.error("日志列表Excel导出出错", ce); throw ce; } catch (Exception e) { sysLog.error("日志列表Excel导出出现系统错误", e); throw new CodeException(CodeConstants.SYS_ERROR, new Object[] { "日志列表Excel导出出现系统错误" }, e); } } public HSSFCell setCellStyle(HSSFWorkbook workbook,HSSFCell cell,String value){ HSSFCellStyle cellStyle = workbook.createCellStyle(); HSSFDataFormat format = workbook.createDataFormat(); cellStyle.setDataFormat(format.getFormat("@")); cell.setCellStyle(cellStyle); cell.setCellValue(value); return cell; }
浏览器请求代码
//当点击下面元素的时候,请求该映射路径,然后就会弹出下载框 $("#QueryExcel").click(function(){ $("#QueryForm").attr("action","${root}/logManagement/001/log_excel.do"); $("#QueryForm").submit(); });
相关文章推荐
- 【POI】导出excel文件,不生成中间文件,直接将内存中的数据创建对象下载到浏览器
- 【poi excel导出】不同浏览器的编码方式,解决下载文件名称乱码
- Spring Boot--POI导出excel文件下载
- 直接客户端浏览器下载文件,不必通过回传服务器再下载(例如将table内容导出excel)
- Springboot/SpringMVC+POI 实现Excel导出功能(点击下载方式实现)
- 文件下载利用poi导出excel
- SpringMVC+POI下载文件模板和导出Excel
- POI文件导出至EXCEL,并弹出下载框
- Java ssh poi 根据条件查询数据导出excel到浏览器 下载框不显示 浏览器乱码 之前是用submit()
- ssm框架使用poi实现数据导出到excel,并弹框下载
- web中使用POI导入导出EXCEL文件的例子
- php -- PHP实现点击a标签的href做链接时,直接保存文件(任何类型),而不是通过浏览器直接打开下载的文件
- springmvc Excel文件上传,使用ajaxSubmit方法进行文件上传,使用弹出层弹出一个框(jquery layer),点击进行下载
- Java 下载文件,浏览器直接打开,并且PDF再次点击下载时,文件名称设置正确
- 解决ie和其他浏览器poi下载excel文件名乱码
- Asp.net 2.0 GridView数据导出Excel文件(示例代码下载)
- 大量的文件下载(Excel导出等)问题
- datagrid数据导出到excel文件给客户端下载的几种方法
- Excel文件导入导出实战(3)-xml模板文件的上传下载
- Excel文件导入导出实战(4)--上传下载