Java操作Excel使用jxl.jar--讀取Excel

當然我們使用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); // 前一個參數是列(column) 後一個是 行 (row)

//通過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中的圖片,那麼可以用Sheet的getDrawing(int i)方法返回一個Image對象,通過Image對象的 
getImageData()或者getImageFile()即可訪問到你需要的圖片。 
如過你是要把圖片寫入到Excel中,那麼可以用WritableSheet的addImage(WritableImage image) 
方法寫入,其中WritableImage可以用構造函數直接構造。 
(WritableImage(double x, double y, double width, double height, java.io.File image)

發佈了38 篇原創文章 · 獲贊 1 · 訪問量 27萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章