1 public String exportExcel(String name, String name2, String name3, 2 String name4, String name5, HttpServletRequest request, 3 HttpServletResponse response){ 4 5 String path = request.getRealPath("/"); 6 List list = this.findVsendList(name,name2,name3,name4,name5); 7 WritableWorkbook book = null; 8 int pagernum,mus=65535,count,num; 9 WritableSheet sheet = null; 10 11 try { 12 13 // 在位置0的前方插入表格页 14 OutputStream os = response.getOutputStream();// 取得输出流 15 response.reset();// 清空输出流 16 response.setHeader("Content-disposition", "attachment; filename=" + new String("文件名".getBytes("GB2312"), "8859_1") + ".xls");// 设定输出文件头 17 response.setContentType("application/msexcel");// 定义输出类型 18 19 book = Workbook.createWorkbook(os); 20 pagernum=list.size()/mus; 21 for(int i=0;i<pagernum+1;i++){ 22 sheet = book.createSheet("sheet"+(i+1), i); 23 24 // 删除页 25 sheet.addCell(new Label(0, 0, "列一")); // 位置从0开始 26 27 sheet.addCell(new Label(1, 0, "列二")); 28 29 sheet.addCell(new Label(2, 0, "列三")); 30 31 sheet.addCell(new Label(3, 0, "列四")); 32 33 sheet.addCell(new Label(4, 0, "列五")); 34 35 sheet.addCell(new Label(5, 0, "列六")); 36 37 sheet.addCell(new Label(6, 0, "列七")); 38 39 sheet.addCell(new Label(7, 0, "列八")); 40 41 if(i==pagernum){ 42 count=list.size()%mus; 43 }else{ 44 count=mus; 45 } 46 num=i*mus; 47 48 for (int j = num; j < num+count; j++) { 49 VSendList sendlist = (VSendList) list.get(j); 50 if (sendlist != null) { 51 String Type = ""; 52 if (1 == sendlist.getXx()) { 53 Type = "XX"; 54 } else if (2 == sendlist.getXx()) { 55 Type = "XX"; 56 } else if (3 == sendlist.getXx()){ 57 Type = "XX"; 58 } else { 59 Type = "XX"; 60 } 61 sheet.addCell(new Label(0, j + 1 - num, sendlist.getXxxx())); // 位置从0开始 62 sheet.addCell(new Label(1, j + 1 - num, sendlist.getXx())); 63 sheet.addCell(new Label(2, j + 1 - num, sendlist.getXxxx())); 64 sheet.addCell(new Label(3, j + 1 - num, Type)); 65 sheet.addCell(new Label(4, j + 1 - num, sendlist.getXxxxx().substring(0, 19))); 66 sheet.addCell(new Label(5, j + 1 - num, sendlist.getXxxxxx())); 67 sheet.addCell(new Label(6, j + 1 - num, sendlist.getXxxxxx().toString())); 68 sheet.addCell(new Label(7, j + 1 - num, sendlist.getXxxxx())); 69 } 70 } 71 } 72 book.write(); 73 } catch (Exception e) { 74 e.printStackTrace(); 75 } finally { 76 if (book != null) { 77 try { 78 book.close(); 79 } catch (Exception e) { 80 e.printStackTrace(); 81 } 82 } 83 } 84 return null; 85 }
时间: 2024-09-29 18:48:11