講到試算表,大家最熟悉的應該就是Microsoft Office Excel了吧!但其實大部分的人都只會基本的Excel操作及運算,Excel其實有很多非常強大的功能,這篇文章其實不是教大家怎麼使用Excel,小蛙也只會基本的操作,由於Excel所包含的強大功能,以致於現在有很多資料都是採用Excel儲存,像小蛙的其中一項工作就是把某些單位中的資料匯入到資料庫中,而某些單位提供給小蛙的資料就是Excel,小蛙要做的事情就是必須先從Excel中把資料截取出來,才能做後續的操作以利於塞入特定資料庫中。這篇文章要介紹怎麼使用Java讀取Excel內容。
要在Java中操作Excel必須先下載Java Excel API。這邊小蛙下載最新版的JExecelApi v2.6.12。
下載到桌面後,我們只需要壓縮檔中的jxl.jar檔案,可以透過WinRAR(WinZip or 7zip …等)解壓縮軟體取得jxl.jar。
解壓縮後可以得到jexcelapi,而我們要的jxl.jar在jexcelapi資料夾內。如果你的使用方式跟小蛙一樣,直接點兩下開啟WinRAR介面的話,就可以直接拖曳著jxl.jar到桌面,而不用解壓縮整個檔案。
接下來要把這個jar檔放進專案中讓我們可以透過Eclipse使用,之前小蛙會將所有使用到的Library都放置在一個資料夾,讓不同專案可以去include,但後來工讀生盛哥(組內最強)建議可以每個專案中都建立一個lib資料夾,裡面專門放置這個專案會用到的函式庫,雖然可能會造成空間浪費(同一個套件複製好幾份在不同專案中),但到時候要維護或是打包之類的會方便許多。下圖是在專案中建立一個Folder的操作,在專案上按右鍵->New->Folder。
光是這樣Eclipse還沒辦法使用這個Jar的功能喔!接著我們要讓Eclipse可以"認得"這個Jar。在剛剛的jar上面點選滑鼠右鍵,選擇Build Path -> Add to Build Path。
上圖的jxl.jar變成下圖這個樣子,並且在Referenced Libraries中出現了一個jxl.jar。
接下來介紹JXL的使用方法。
// 要注意如果檔案路徑中有「\」必須用「\\」或「/」取代掉 // 使用JXL必須先建立一個Workbook,讀取方法如下。 // 小蛙測試的時候 xlsx 的檔案會發生錯誤 Workbook workbook = Workbook.getWorkbook(new File("E:\\鄉鎮區中英文.xls")); // 接著建立 Sheet,Workbook可以看成是一個excel檔案,Sheet顧名思義就是一個頁籤。 // 可以直接 getSheet(0) 表示第一個頁籤(從0開始算) // 也可以透過 getSheet("頁籤名稱") 來取得頁籤 Sheet sheet = workbook.getSheet(0); // 讀取儲存格(Cell)的方法,getCell(Columns, Rows),也是一樣從0開始(直,橫) Cell c = sheet.getCell(j, i); // 要一列一列往下讀的方式,印出每一行的內容 for(int i = 0; i < sheet.getRows(); i++){ for(int j = 0; j < sheet.getColumns(); j++){ Cell c = sheet.getCell(j, i); String s = c.getContents(); System.out.println(s); } System.out.println("-------"); }
這邊小蛙介紹一個Eclipse小技巧。把上面的程式貼在Eclipse裡面卻發現有紅色的底線,是Eclipse告訴開發者你這行程式有錯誤喔!並且提供貼心小建議,左邊有一個叉叉,點選滑鼠左鍵可以看到Eclipse給了幾個貼心的小建議,例如下圖Eclipse就告訴開發者可能是少import java.io.File; … 等等,雖然不一定每次都會正確,這個便利的設計可以讓開發者少打一些字,也可以更快找出錯誤的原因。
您可能有興趣的文章: | ||||
JSP將資料匯出成Excel直接下載 by JExcelApi (jxl) |
Eclipse + Visual Editor => SWT Development |
java/lang/NoClassDefFoundError: java/lang/Object |
Eclipse匯入專案 |
Oracle 匯入/匯出 Excel (透過 SQL Developer) |
无觅 |