專案中上傳解析excel的功能,非常普遍,因為方便,接下來就寫乙個工具類對excel進行解析
引入poi 阿帕奇依賴
工具類的書寫
public
class
excelutils
else if(excel_2007_suffix.equalsignorecase(suffixname))
} catch (ioexception e)
return new arraylist();
}*//**
* @descriptioin: 讀取excel轉換為記憶體中的list,方便校驗
* 本方法是修改後的,可放心使用
* @param filename
* @return
*/private
static list
]>
readexceltolist
(multipartfile file)
else
if(excel_2007_suffix.
equalsignorecase
(suffixname))}
catch
(ioexception e)
return
newarraylist
]>()
;}/** * list返回的是不包含excel標題頭 純資料的集合
*/public
static list
]>
readold
(inputstream inputstream)
throws ioexception
object[
] values =
newobject
[xssfsheet.
getrow(0
).getlastcellnum()
];for(
int j=
0; j<=hssfrow.
getlastcellnum()
;j++
)switch
(hssfcell.
getcelltype()
)else
case cell.cell_type_formula:
cellvalue = hssfcell.
getcellformula()
;break
;case cell.cell_type_boolean:
cellvalue = hssfcell.
getbooleancellvalue()
;break
;case cell.cell_type_blank:
cellvalue ="";
break
;default
: cellvalue = cellvalue.
tostring()
;}values[j]
= cellvalue;
} list.
add(values);}
return list;
}catch
(ioexception e)
",e)
;return null;
}finally
}/**
* list返回的是不包含excel標題頭 純資料的集合
*/public
static list
]>
readnew
(inputstream inputstream)
throws ioexception
object[
] values =
newobject
[xssfsheet.
getrow(0
).getlastcellnum()
];for(
int j=
0; j<=xssfrow.
getlastcellnum()
;j++
)switch
(xssfcell.
getcelltype()
)else
case cell.cell_type_boolean:
cellvalue = xssfcell.
getbooleancellvalue()
;break
;case cell.cell_type_formula:
cellvalue = xssfcell.
getcellformula()
;break
;case cell.cell_type_blank:
cellvalue ="";
break
;default
: cellvalue = cellvalue.
tostring()
;}values[j]
= cellvalue;
} list.
add(values);}
return list;
}catch
(ioexception e)
",e)
;return null;
}finally
}}
JAVA上傳EXCEL解析
後台controller層用 requestparam fileupload multipartfile fileuploa 接收vo為 syspurcinfovo 如下 responsebody public listpircinfoimportexcel requestparam fileupl...
上傳excel檔案,解析excel檔案
需要jxl.jar包 上傳excel檔案 獲取檔案字尾名 public static string getfileext string f return param excelfile 讀取檔案物件 param rownum 從第幾行開始讀,如果有一行表頭則從第二行開始讀 return throws...
poi上傳解析excel 上傳檔案
服務層進行處理 public void importexpressinformation multipartfile file throws exception 這裡我只需要三個單元格內的資料所以沒有迴圈單元格去取東西 for cell cell row id cell cell row.getce...