Java POI 操作Excel總結筆記--使用配置和使用案例篇


 

 軟件151田傑中

 

最近用POI做了一段時間的報表和Excel導入導出,主要就是對HSSFWorkbook,HSSFSheet,HSSFRow, HSSFCell的操作了,掌握了對這四個東西的控制,你想怎么寫就怎么寫。

 基本配置和使用說明:

  1. 其實JAVA在處理Window OLE 2復合文檔格式操作的API,還有很多POI、JExcelApi、IText等,而在實際的個人感覺POI確實是一個不錯的選擇。下面就POI開發的相關內容進行簡要的介紹下,包括POI組成、開發步驟、具體示例、知識點匯總等內容進行講解。POI組成   
  2. POI組成   
  3. 官方網站: <a href="http://jakarta.apache.org/poi/">http://jakarta.apache.org/poi/</a>,這個是POI的官方網站,用戶可以先從這里下載。最新的版本3.7,下載解壓后里面有三個jar包  
  4. (poi-3.7-FINAL-20080204.jar/  
  5.  poi-contrib-3.7-FINAL-20080204.jar/  
  6.  poi-scratchpad-3.7-FINAL-20080204.jar),  
  7. 而在這里包中主要含:   
  8. org.apache.poi.hssf.eventmodel 處理在讀取和寫入Excel文檔中生成的各種動作.   
  9. org.apache.poi.hssf.eventusermodel 提供讀取Excel文檔的各個類.   
  10. org.apache.poi.hssf.record.formula 包含公式處理類, 這些類使用在Excel文檔中.   
  11. org.apache.poi.hssf.usermodel 包含生成Excel文檔的各個類.   
  12. org.apache.poi.hssf.util 提供處理Excel文檔各個屬性的工具類.   
  13. 開發步驟   
  14. 1:先下載POI包;   
  15. 2:解壓后將里面的3個jar文件拷貝至WEB-INF\lib中。   
  16. 3:刷新工程后,即可以使用jar包中的內容了。   
  17.   
  18.  讀取POI文檔   
  19. 一:以文件名創建一個InputStream   
  20. 二:以上面的InputStream實例創建一個HSSFWorkbook.   
  21. 三:HSSFWorkbook的getSheetAt(index)可獲取相應的工作頁   
  22. 四:工作頁調用方法獲取行   
  23. 五:行再獲取相應的格,調用單元格的方法,然后取出對應數據。  
  24. 簡單配置簡介完畢!  


 

使用Demo 案例一:

    1. // 使用Java POI  
    2. // 把要兩個JAR文件放到lib/ext下  
    3. // code run against the jakarta-poi-1.5.0-FINAL-20020506.jar.  
    4. //  and commons-logging-1.0.jar  
    5. 例子程序:  
    6. import org.apache.poi.hssf.usermodel.*;  
    7. import java.io.FileOutputStream;  
    8.   
    9. // code run against the jakarta-poi-1.5.0-FINAL-20020506.jar.  
    10. //  and commons-logging-1.0.jar  
    11. public class PoiTest {  
    12.   
    13. static public void main(String[] args) throws Exception {  
    14.   
    15.  FileOutputStream fos = new FileOutputStream("d:\foo.xls");  
    16.  HSSFWorkbook wb = new HSSFWorkbook();  
    17.  HSSFSheet s = wb.createSheet();  
    18.  wb.setSheetName(0, "Matrix");  
    19.  for(short i=0; i<50; i++) {  
    20.  HSSFRow row = s.createRow(i);  
    21.  for(short j=0; j<50; j++) {  
    22.  HSSFCell cell = row.createCell(j);  
    23.  cell.setCellValue(""+i+","+j);  
    24.  }  
    25.  }  
    26.  wb.write(fos);  
    27.  fos.close();  
    28. }  
    29. }   


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM