您的位置:首页 > 编程语言 > Java开发

Java POI 导入Excel并解析

2015-04-16 11:42 253 查看
       项目上碰到需要导入Excel表的数据,主要包括web端上传部分和spring后端代码。

      1、Web页面代码

      <input type="file" name="uploadfile" id="uploadfile" >,注意form里需增加encType="multipart/form-data"

      2、spring后台接收

      参数接收中增加@RequestParam("excelFile")MultipartFile excelFile

      3、Excel文件解析

      核心代码如下:

     try{
InputStream inputStream = excelFile.getInputStream();
POIFSFileSystem fs = new POIFSFileSystem(inputStream);
HSSFWorkbook workbook = new HSSFWorkbook(fs);
//XSSFWorkbook workbook = new XSSFWorkbook(fs);

HSSFSheet sheet = workbook.getSheetAt(0);
int rowNum = sheet.getLastRowNum();// 行
int cellNum;

HSSFRow row;
HSSFCell cell;
String value = "";

for (int i = 1; i <= rowNum; i++) {
row = sheet.getRow(i);
cellNum = row.getLastCellNum();// 列
recStrb = new StringBuffer("");

for (int j = 0; j < cellNum; j++) {//对一行的每个列进行解析

cell = row.getCell((short) j);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
if(j == 0){
value = String.valueOf((int)cell.getNumericCellValue());//数字型的值

}else if(j == 1){
value = String.valueOf((int)cell.getNumericCellValue());

}else if(j == 2){//
value = cell.getStringCellValue();//字符型的值

}else{

}

if (StringUtils.isEmpty(value)) {
recStrb.append("null, ");
} else {
recStrb.append("'" + value + "', ");//对取得的值进行处理
}

}

//数据的自定义处置
if (i > 0) {
// log.debug(recStrb.toString());
recStrb.append("'"+super_parts_code+"', ");
String strTemp = recStrb.toString();
strTemp = strTemp.substring(0,strTemp.lastIndexOf(","));
dataList.add(strTemp);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  POI Excel解析