用POI包导出数据的几种输出方式

reverie001 贡献于2010-12-26

作者 MC SYSTEM  创建于2009-12-02 02:30:00   修改者MC SYSTEM  修改于2009-12-02 06:45:00字数6875

文档摘要:用POI包导出数据
关键词:

用POI包导出数据 // 读取模板 InputStream in = this.getClass().getResourceAsStream( "..\\..\\..\\..\\..\\excelview\\moban6.xls"); Workbook workbook = WorkbookFactory.create(in); in.close(); Sheet sheet = workbook.getSheetAt(0); // 取模板的样式 CellStyle[] cellstyles = new CellStyle[10]; Row row1 = sheet.getRow(2); for (int i = 0; i < 10; i++) { System.out.println("取第"+i+"列样式"); cellstyles[i] = row1.getCell(i).getCellStyle(); } // 得到数据集合 List list = new ArrayList(); // 打印点卡销售部门报表 String sql = ""; list = (List) cardbiz.getAllPointCardSell(sql); 标记处: /****方法一*导出数据的直列输出发***************************************/ int i = 0; for (PointCardSell pc : list) { Row row = sheet.createRow(i + 2); // 行的第1个单元格 Cell cell0 = row.createCell(0); cell0.setCellStyle(cellstyles[0]); //设置样式 cell0.setCellValue(pc.getCardno());//填值 // 行的第2个单元格 Cell cell1 = row.createCell(1); cell1.setCellStyle(cellstyles[1]); cell1.setCellValue(pc.getCustomername()); // 行的第3个单元格 Cell cell2 = row.createCell(2); cell2.setCellStyle(cellstyles[2]); cell2.setCellValue(pc.getRealname()+"123"); // 行的第4个单元格 Cell cell3 = row.createCell(3); cell3.setCellStyle(cellstyles[3]); cell3.setCellValue(pc.getActualprices()); // 行的第5个单元格 Cell cell4 = row.createCell(4); cell4.setCellStyle(cellstyles[4]); cell4.setCellValue(pc.getPoint()); i++; } Row rowdate=sheet.createRow(i+2); rowdate.createCell(0).setCellStyle(cellstyles[0]); rowdate.createCell(1).setCellStyle(cellstyles[1]); rowdate.createCell(2).setCellStyle(cellstyles[2]); Cell cell3=rowdate.createCell(3); cell5.setCellStyle(cellstyles[3]); cell3.setCellValue("导出日期:"); Cell cell4=rowdate.createCell(4); Cell4.setCellStyle(cellstyles[4]); Cell4.setCellValue(currenttime.toLocaleString().substring(0, 10)); 标记结束处:/**********************************************************************/ response.reset(); String fileName = "点卡销售报表"; fileName += ".xls"; response.addHeader("Content-Disposition", "attachment; filename=\"" + new String(fileName.getBytes("GBK"), "iso8859-1") + "\""); response.setCharacterEncoding("GBK"); response.setContentType("application/x-msdownload"); OutputStream out = response.getOutputStream(); workbook.write(out); out.flush(); out.close(); /*******方法二*导出数据的左右交替输出法(奇偶法,左奇右偶)**************************************/ int i = 0; for (int j=0;j list = new ArrayList(); // 打印点卡销售部门报表 String sql = ""; list = (List) cardbiz.getAllPointCardSell(sql); List list1 = new ArrayList(); List list2 = new ArrayList(); int t = 0 ; int k = list.size(); if(k%2==1){ t = k/2+1; }else{ t = k/2; } list1 = list.subList(0, t); list2 = list.subList(t, k); int i = 0; for (int j=0;j

下载文档到电脑,查找使用更方便

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 15 金币 [ 分享文档获得金币 ] 1 人已下载

下载文档