在poi包做excel檔案匯入時,當列內容是手機號碼等長度較大的數字時,匯入資料放到快取中會變成科學計數發的形式,即使將**內容設定為文字也不行。
檢視api發現有設定建立的cell資料型別的方法,可以將數字轉換為字串匯入,方法如下:
xssfworkbook wb = null;
inputstream fileinput = file.getinputstream();
wb=new xssfworkbook(fileinput);
// 建立基於stream的工作薄物件後,獲取需要匯入資料的sheet
xssfsheet sheet = wb.getsheetat(0);
//獲得表頭
xssfrow r = sheet.getrow(0);
...//迴圈表頭
for (int rownum = 1; rownum <= sheet.getlastrownum(); rownum++)
當表資料是很長的數字時,就需要先設定cell的屬性
//相當於在**中設定單元格是字串型別
cell.setcelltype(xssfcell.cell_type_string);
這時就相當於xssfcell.cell_type_string:
cell.getrichstringcellvalue().getstring();
第二種方法是通過下面這種方式將cell獲取到的資料格式化
decimalformat df=new decimalformat("0");
string a = df.format(cell.getnumericcellvalue());
poi匯入匯出excel
org.apache.poigroupid poiartifactid 3.14 beta1version dependency public private string headtextname 列頭 標題 名 private string propertyname 對應欄位名 private ...
POI實現Excel匯入
第一步 將excel表轉換成list其中 exceldto 屬性全部設定成string 便於自定義註解正則校驗 第二步 設定自定義註解 1 長度校驗註解 2 正則校驗註解 3 不能重複 第三步 編寫校驗方法返回錯誤資料 錯誤資料list 可匯入資料list 1.匯入依賴 org.apache.poi...
POI匯入匯出Excel
public class excelutils sheet sheet null row row null cell cell null list new arraylist 遍歷excel中所有的sheet for int i 0 i wb.getnumberofsheets i 遍歷當前shee...