java-下载excel
2016-02-02 17:33
549 查看
在java程序里面处理excel,我觉得比较方便的方式是先做出一个excel的模板(比如定义表头信息、表格名称等),然后根据这个模板往里面填充数据
我这里演示的是使用poi处理2007以上版本的excel表格
代码:
方法最后会放回byte[]数组,controller层通过response放回给客户端
我这里演示的是使用poi处理2007以上版本的excel表格
代码:
String contextPath = session.getServletContext().getRealPath("/excel"); //获取模板路径 XSSFWorkbook workbook = new XSSFWorkbook(new FileInputStream(contextPath + "/schedule.xlsx")); //获取模板,并装成对应类 XSSFSheet sheet = workbook.getSheetAt(0); //获取第一张表格 int beginRow = 2; int endRow = 2 + doctorVOs.size(); for(int i = 0;beginRow < endRow; beginRow++,i++){ DoctorCountVO vo = doctorVOs.get(i); XSSFRow row = sheet.getRow(beginRow); if(row == null){ row = sheet.createRow(beginRow); XSSFCell firstCell = row.createCell(0); firstCell.setCellValue(vo.getDoctorName()); XSSFCell secondCell = row.createCell(1); secondCell.setCellValue(vo.getOutCallFullDay()); XSSFCell thirdCell = row.createCell(2); thirdCell.setCellValue(vo.getOutCallHalfDay()); XSSFCell forthCell = row.createCell(3); forthCell.setCellValue(vo.getAccompanyFullDay()); XSSFCell fifthCell = row.createCell(4); fifthCell.setCellValue(vo.getAccompanyHalfDay()); } } ByteArrayOutputStream os = new ByteArrayOutputStream(); workbook.write(os); workbook.close(); return os.toByteArray();
方法最后会放回byte[]数组,controller层通过response放回给客户端
byte[] bytes = scheduleService.userCountExport(contextPath, doctorVOs); if(bytes != null){ response.setContentType("application/x-msdownload"); response.setHeader("Content-Disposition", "attachment;filename=schedule.xlsx"); response.setContentLength(bytes.length); response.getOutputStream().write(bytes); response.getOutputStream().flush(); response.getOutputStream().close(); }
相关文章推荐
- Spring面试问题
- struts2拦截器-自定义拦截器,放行某些方法(web.xml配置)
- 5.Java 加解密技术系列之 DES
- 通过Spring Resource接口获取资源
- Java Properties类
- Java 数据库连接——JDBC
- 4.Java 加解密技术系列之 HMAC
- 聊聊并发(七)——Java中的阻塞队列[转]
- Eclipse编辑jsp、js文件时卡死现象的解决办法汇总
- 3.Java 加解密技术系列之 SHA
- java特种兵读书笔记(5-3)——并发之原子性与锁
- Spring 3 AOP 概念介绍
- 2.Java 加解密技术系列之 MD5
- Java语言注解(Annotation)简介
- JAVA中List、Map、Set的区别与选用
- 【Java基础】volatile关键字解析
- java web程序SSH到服务器执行命令
- java JMM
- Eclipse 如何查看jdk源码
- java1.8的几大新特性(一)