public String exportReport() { HttpServletRequest request = ServletActionContext.getRequest(); String a = request.getParameter("a"); //第一步,创建一个webbook,对应一个Excel文件 HSSFWorkbook wb = new HSSFWorkbook(); //第二步,在webbook中添加一个sheet,对应Excel文件中的sheet HSSFSheet sheet = wb.createSheet("图书类别信息"); //第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制short HSSFRow row = sheet.createRow((int)0); row.createCell((short)0).setCellValue(a); HSSFRow row1 = sheet.createRow((int)1); //第四步,创建单元格,并设置值表头 设置表头居中 HSSFCellStyle style = wb.createCellStyle(); style.setAlignment(HSSFCellStyle.ALIGN_CENTER); //创建一个居中格式 HSSFCell cell = row1.createCell((short)0); cell.setCellValue("编号"); cell.setCellStyle(style); cell = row1.createCell((short)1); cell.setCellValue("类别名称"); cell.setCellStyle(style); cell = row1.createCell((short)2); cell.setCellValue("可借天数"); cell.setCellStyle(style); cell = row1.createCell((short)3); cell.setCellValue("罚款金额"); cell.setCellStyle(style); //第五步,写入实体数据 实际应用中这些数据从数据库得到, // if(booktype.getStatType()==null) // { // temandhumInfo.setStatType("0"); // } List booktypelist = booktypeBiz.getBooktypeAll(); for (int i = 0; i < booktypelist.size(); i++) { row1 = sheet.createRow((int)i+2); Booktype info = booktypelist.get(i); //第四步,创建单元格,并设置值 row1.createCell((short)0).setCellValue(info.getId()); row1.createCell((short)1).setCellValue(info.getTypeName()); row1.createCell((short)2).setCellValue(info.getBydays()); row1.createCell((short)3).setCellValue(info.getFine()); // cell = row1.createCell((short)4); // cell.setCellValue(info.getCollecttime()); } //第六步,将文件存到指定位置 // try // { // FileOutputStream fout = new FileOutputStream("E:/"+tableName+"监测表.xls"); // wb.write(fout); // fout.close(); // } catch (Exception e) // { // e.printStackTrace(); // } //弹出直接打开或者下载(可以选择文件下载保存路径) HttpServletResponse response = ServletActionContext.getResponse(); response.reset(); response.setCharacterEncoding("UTF-8"); response.setContentType("application/vnd.ms-excel"); //保证不乱码 try { response.setHeader("Content-Disposition","attachment;" + " filename=" + new String(a.getBytes(), "ISO-8859-1")); } catch (UnsupportedEncodingException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } try { ByteArrayOutputStream oss =new ByteArrayOutputStream(); OutputStream os = response.getOutputStream(); wb.write(oss); byte temp[] = oss.toByteArray(); ByteArrayInputStream in = new ByteArrayInputStream(temp); int n = 0; while ((n = in.read(temp)) >0) { os.write(temp, 0, n); } os.flush(); os.close(); } catch(Exception e) { e.printStackTrace(); } return null; } public Booktype getBooktype() { return booktype; } public void setBooktype(Booktype booktype) { this.booktype = booktype; } public BooktypeBiz getBooktypeBiz() { return booktypeBiz; } public void setBooktypeBiz(BooktypeBiz booktypeBiz) { this.booktypeBiz = booktypeBiz; }
java 报表展示下载_java 报表 可以直接打开,或下载
最新推荐文章于 2021-03-02 12:42:16 发布