最近遇到點讀取 Excel 數據的問題,于是花了點時間找開源工具。要解析 Excel,首當其沖的是上傳文件,以前在項目里我們用 SmartUpload 進行上傳,不過這個項目似乎已經停止開發了,于是在這里我使用 Apache Commons FileUpload,可以在 http://jakarta.apache.org/commons/fileupload 找到。目前該項目的最新版本是 1.1.1,網上有大量的范例程序,不過后來用的時候發現大部分方法在新版本中都不推薦使用了,于是好好讀了一回 API 和官方范例。
先來看看如何上傳文件,Servlet 很簡單,在這里我限制了最大上傳量為 1M,且直接讀進內存中,不進行磁盤臨時文件緩存。
上面的程序示范了如何上傳文件到服務器,本文的主要目的不光是上傳,還要進行 Excel 解析,抽取有用的內容。開源的 Excel 解析器很多,在此我選擇了 JExcelApi,可以在 http://jexcelapi.sourceforge.net 找到,據說是韓國人開發的,最新版本是 2.6.2。為什么沒有選 POI,原因也是因為它 N 久沒有更新了。我總是喜歡最新的東東,比如 Adobe 的 PDF Reader,硬是下載了 8.0,結果感覺還沒有 6.0 好用。:(
以下程序修改直上傳,做了部分調整,取消了文件儲存,直接通過讀取輸入流進行解析,并假設約定的 Excel 文件有五列 N 行,第一行為標題信息。
Powered by: BlogJava Copyright © Rosen