您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
这篇文章将为大家详细讲解有关Java中poi如何导出Excel下载到客户端,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
具体内容如下
Maven配置,包含了其他文件格式的依赖,就全贴出来了
<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-excelant</artifactId> <version>3.12</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-scratchpad</artifactId> <version>3.12</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.8</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml-schemas</artifactId> <version>3.8</version> </dependency>
Service层
@Override public void export(Long sblsh, String excelName, OutputStream out) { try { // 第一步,创建一个webbook,对应一个Excel文件 HSSFWorkbook wb = new HSSFWorkbook(); //生成一个表格 HSSFSheet sheet = wb.createSheet(excelName); // 第三步,在sheet中添加表头第0行 HSSFRow row = sheet.createRow(0); // 第四步,创建单元格,并设置值表头 设置表头居中 HSSFCellStyle style = wb.createCellStyle(); style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 创建一个居中格式 HSSFCell cell = row.createCell(0); cell.setCellStyle(style); Byte kjzz = qyjbxxMapper.getKjzz(sblsh); List<A> record = this.selectBySblsh(sblsh); this.insertData(wb, sheet, row, record, out); } } catch (Exception e) { logger.info(e.getMessage()); } } /** * 导入数据到表格中 * @param wb execl文件 * @param sheet 表格 * @param row 表格行 * @param record 要导出的数据 * @param out 输出流 */ private void insertData(HSSFWorkbook wb,HSSFSheet sheet,HSSFRow row,List<A> record, OutputStream out){ try { row = sheet.createRow(1); for(int i=0;i<title.length;i++){ row.createCell(i).setCellValue(title[i]); } for(int i=0;i<record.size();i++){ row = sheet.createRow(i+2); A data = record.get(i); row.createCell(0).setCellValue(data.getHc()); row.createCell(1).setCellValue(data.getXm()); BigDecimal je = data.getJe(); if(je!=null){ row.createCell(2).setCellValue(je.doubleValue()); } } //合并单元格,前面2位代表开头结尾行,后面2位代表开头结尾列 CellRangeAddress region = new CellRangeAddress(0,0,0,title.length-1); sheet.addMergedRegion(region); wb.write(out); out.flush(); out.close(); wb.close(); } catch (Exception e) { logger.info(e.getMessage()); } }
Controller
@RequestMapping("/export") public void export(Long sblsh, HttpServletRequest request, HttpServletResponse response){ response.setContentType("octets/stream"); String excelName = "文件名"; try { response.addHeader("Content-Disposition", "attachment;filename="+new String(excelName.getBytes("gb2312"), "ISO8859-1" )+".xls"); OutputStream out = response.getOutputStream(); aService.export(sblsh,excelName ,out); } catch (Exception e) { e.printStackTrace(); } }
关于“Java中poi如何导出Excel下载到客户端”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。