poi讀取excel單元格的資料,不同的資料型別有不同的讀取方法,因此要讀取資料必須先判斷單元格的資料型別,poi定義了numeric數值型,把日期時間也當作數值進行儲存,所以我們讀取時先判斷為數值numeric型別,再用dateutil.iscelldateformatted(cell),來判斷是不是日期時間型別,如果返回true則為日期時間型別。在excel中有多種資料型別,還允許自定義,雖然poi在builtinformats類中定義了許多格式,但中國人的習慣格式還有的沒有,如 「yyyy-mm-dd hh:mm:ss」這種格式就沒有,但中國人的習慣這樣寫,要這樣寫就是自定義型別,自定義型別是沒有統一的乙個確定值的,用cell.getcellstyle().getdataformat()得到的值,因為自定義,沒法提前知道具體的數值,並且可能在不同的電腦上會是不同的值,所以這種方法就會很麻煩。這裡提供另一種方法可以解決這個問題。
dataformatter dataformatter=new dataformatter();
format format=dataformatter.createformat(cl);
date date=cl.getdatecellvalue();
string str=format.format(date);
這種方法就通獲取單元格自身的格式,來以單元格的格式書寫出來,這樣就不同判斷單元格具體格式型別了,但這種方式也有不足,對於builtinformats類中定義的格式,它會按照builtinformats類定義的樣子顯示出來,如mm/dd/yy格式,但它解決了自定義格式不好判斷的問題。希望對小夥伴有所幫助。
poi讀取excel元素
忽略元資料末尾 回到原資料開始處 org.apache.poi poi3.11 beta2 org.apache.poi poi ooxml 3.11 其中poi ooxml是為讀取xlsx特意引入,切要和poi版本一致 inputstream is new fileinputstream e xs...
POI讀取Excel到資料庫
新入職後,接手的第乙個任務是將excel中的資料錄入資料庫,這裡總結一下。public string excelinput throws exception 迴圈行row for int rownum 1 rownum xssfsheet.getlastrownum rownum 1,對於類似 號碼...
POI實現資料分頁讀取寫入excel
excel工具類如下 基本分四部走,第一步 初始構建sxssf物件及其樣式 字型 第二步 構建標題行 第三步 寫入資料 第四步 將資料寫入excel public class sxssfexcel sheetname 宣告乙個工作薄 workbook new sxssfworkbook rowacc...