Java操作Excel之理解JXL--讀取Excel(原文轉載)

原文出處:

http://www.iteye.com/topic/63001

 

 

 

 

JXL(Java Excel API)是一個用來動態讀寫Excel文件的開源框架,利用它可以在任何支持Java的操作系統上動態讀寫Excel文件。JXL的主頁是:http://www.andykhan.com/jexcelapi/,可以在這裏下載到它的最新的版本。
你可以分別通過如下命令
java -jar jxl.jar -xml test.xls
java -jar jxl.jar -cvs test.xls
以xml和cvs格式查看test.xls,這是因爲JXL作者實現了一個用來演示的jxl.demo.Demo的類。

當然我們使用JXL主要是用它來動態讀寫Excel文件。現在就來看看JXL在對Excel的讀和寫上都提供了那些支持。
先來看看Excel文件中都有寫上面對象
1 文件對象 2工作簿對象 3 單元格對象。
相應的在JXL中就有Workbook,Sheet ,Cell 。通過這三個對象我們就可以實現Excel文件的讀取工作。
我們先想想一下讀取步驟,不管是什麼樣的Excel操作框架必定都要經歷
1選取Excel文件,2選擇工作簿,3選擇Cell,4讀取信息。
那麼現在就可以看看JXL中這四步驟如何體現:
//通過Workbook的靜態方法getWorkbook選取Excel文件
Workbook workbook = Workbook.getWorkbook(new File("myfile.xls"));

//通過Workbook的getSheet方法選擇第一個工作簿(從0開始)
Sheet sheet = workbook.getSheet(0);

//通過Sheet方法的getCell方法選擇位置爲C2的單元格(兩個參數都從0開始)
Cell c2 = sheet.getCell(2,1);

//通過Cell的getContents方法把單元格中的信息以字符的形式讀取出來
String stringc2 = c2.getContents();

可以看到正是剛纔所說的四個步驟。

我們都知道Excel單元格是有格式的,那麼這些信息如何取得。
Cell提供了一個getType方法能夠返回單元格的類型信息,同時JXL提供了一個CellType類用來預設Excel中的類型信息,而且JXL提供了一些Cell類的子類用來分別用來表示各種類型的單元格,如LabelCell,NumberCell,DateCell分別表示字符、數值、日期類型的單元格。所以我們可以這樣寫:
if (c2.getType() == CellType.NUMBER)
{
  NumberCell nc = (NumberCell) c2;
  numberb2 = nc.getValue();
}

最後不要忘記關閉workbook以釋放資源:
workbook.close();
現在總結一下:三個對象,四個步驟,注意格式。就可以輕鬆的從Excel文件中讀取數據。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章