Java操作Excel之理解JXL–讀取Excel

來源:互聯網
上載者:User

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檔案中讀取資料。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.