jsp匯出excel檔案,使用POI和jxl

來源:互聯網
上載者:User

導讀:
  jsp匯出excel檔案,使用POI和jxl
  使用POI
  
  
  
  
  
  
  response.setContentType("APPLICATION/OCTET-STREAM");
  
  
  response.setHeader("Content-Disposition",
  
  
  "attachment; filename=/"test.xls"+
  
  
  
  
  "/"");
  
  
  
  
  HSSFWorkbook wb =
  newHSSFWorkbook();
  
  
  HSSFSheet sheet =wb.createSheet("sheet1");
  
  
  
  
  //以下以寫表頭
  
  
  //表頭為第一行
  
  
  HSSFRow row =sheet.createRow((short) 0);
  
  
  
  
  HSSFCell cell1 =row.createCell((short) 0);
  
  
  HSSFCell cell2 =row.createCell((short) 1);
  
  
  HSSFCell cell3 =row.createCell((short) 2);
  
  
  
  
  cell1.setEncoding((short) 1);
  
  
  cell1.setCellType(1);
  
  
  cell2.setEncoding((short) 1);
  
  
  cell2.setCellType(1);
  
  
  cell3.setEncoding((short) 1);
  
  
  cell3.setCellType(1);
  
  
  
  
  //定義表頭的內容
  
  
  cell1.setCellValue("測試");
  
  
  cell2.setCellValue("測試2");
  
  
  cell3.setCellValue("測試3");
  
  
  for(inti =
  0i   4i++)
  
  {
  //定義資料從第二行開始
  row =sheet.createRow((short) i +
  1);
  cell1 =row.createCell((short) 0);
  cell2 =row.createCell((short) 1);
  cell3 =row.createCell((short) 2);
  cell1.setEncoding((short) 1);
  cell1.setCellType(1);
  cell2.setEncoding((short) 1);
  cell2.setCellType(1);
  cell3.setEncoding((short) 1);
  cell3.setCellType(1);
  //填充內容
  cell1.setCellValue("ggg");
  cell2.setCellValue("00000");
  cell3.setCellValue("adfasdf");
  }
  
  
  wb.write(response.getOutputStream());
  
  
  response.getOutputStream().flush();
  
  
  response.getOutputStream().close();
  
  
  %>
  POI包:http://www.apache.org/dyn/closer.cgi/jakarta/poi/
  利用JExcelApi來動態產生excel文檔
  首先,請到http://www.andykhan.com/jexcelapi/index.html下載java excel api,首頁上同時有比較詳細的介紹。
  最新版本為2.4.3,
  同時也可以到:http://www.andykhan.com/jexcelapi/jexcelapi_2_4_3.tar.gz下載到該最新版的API,由於該項目是開源的,所以下載的檔案中已經包含了原始碼,同樣的,檔案中也有javadoc,大家在開發中可以參考javadoc。
  下載完畢後,我們需要把檔案中的jxl.jar加入到你的開發classpath中。
  是現在要生產的excel:
  
  
  代碼如下:
  File excel = new File("d:/aming.xls");
  if(!excel.exists()){
  excel.createNewFile();
  }
  WritableWorkbook wwb = Workbook.createWorkbook(excel);
  WritableSheet ws = wwb.createSheet("testexcel",0);
  Label lable = null;
  
  //對中文的支援非常好
  lable = new Label(0,0,"我的中國心");
  ws.addCell(lable);
  
  //可以定義模板格式化你的cell
  WritableFont wf = new WritableFont(WritableFont.ARIAL,10,WritableFont.NO_BOLD,false,UnderlineStyle.NO_UNDERLINE, Colour.BLACK);
  WritableCellFormat wcf = new WritableCellFormat(wf);
  wcf.setBackground(Colour.WHITE);
  lable = new Label(0,1,"fdsl",wcf);
  ws.addCell(lable);
  
  wf = new WritableFont(WritableFont.TIMES,18,WritableFont.BOLD,true);
  wcf = new WritableCellFormat(wf);
  lable = new Label(0,2,"aming",wcf);
  ws.addCell(lable);
  
  //cell的類型同樣可以定義為數字類型
  Number nb = new Number(0,3,21.4321321);
  ws.addCell(nb);
  
  //支援格式化你的數字串
  NumberFormat nf = new NumberFormat("#.###");
  wcf = new WritableCellFormat(nf);
  nb = new Number(0,4,21.43254354354354,wcf);
  ws.addCell(nb);
  //cell的類型可以為boolean類型
  Boolean bl = new Boolean(0,5,true);
  ws.addCell(bl);
  //cell的類型同樣可以為日期,時間
  DateTime dt = new DateTime(0,6,new Date());
  ws.addCell(dt);
  //並且可以很好格式化你的日期格式
  DateFormat df = new DateFormat("MM dd yyyy hh:mm:ss");
  wcf = new WritableCellFormat(df);
  dt = new DateTime(0,7,new Date(),wcf);
  ws.addCell(dt);
  
  //開始寫檔案了
  wwb.write();
  wwb.close();
  上面的無法開啟.
  下載請到:http://prdownloads.sourceforge.net/jexcelapi

本文轉自
http://www.loohost.com/thread-1311-1-1.html

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.