Java poi导出Excel下载到客户端
程序员文章站
2023-12-01 15:00:10
java poi 导出excel并下载到客户端,具体内容如下
maven配置,包含了其他文件格式的依赖,就全贴出来了
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(); } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: 创新AI场景,海云数据亮相2019中国国际智能产业博览会
下一篇: Java抽象类概念与用法实例分析