CommonsMultipartFile cf= (CommonsMultipartFile)file;
DiskFileItem fi = (DiskFileItem)cf.getFileItem();
File f = fi.getStoreLocation();
//两种不同格式的手机号上传,对doubbler类型的数据进行整数处理 //将遍历的手机号存入list返回
List<String> phones = new ArrayList<>();
HSSFWorkbook hssfWorkbook = new HSSFWorkbook(new FileInputStream(f));
for(int i = 0 ;i<hssfWorkbook.getNumberOfSheets();i++) {
for(Row row : hssfWorkbook.getSheetAt(i)) {
//第一行是表头
if (row.getRowNum()==0) {
continue;
}
//支持String类型和Numeric类型上传
switch (row.getCell(0).getCellType()) {
case XSSFCell.CELL_TYPE_NUMERIC:
//存在空行的情况,跳过
if (row.getCell(0)==null) {
continue;
}
//将取到的dubloe类型数据转换为字符串类型
DecimalFormat dFormat = new DecimalFormat("#");
String phoneStr = dFormat.format((row.getCell(0).getNumericCellValue()));
phones.add(phoneStr);
break;
case XSSFCell.CELL_TYPE_STRING:
//String类型
if (row.getCell(0)==null||StringUtils.isBlank(row.getCell(0).getStringCellValue())) {
continue;
}
phones.add(row.getCell(0).getStringCellValue());
break;
default:
break;
}
}
}
return phones;
//xlsx格式解析
持String类型和Numeric类型上传
switch (row.getCell(0).getCellType()) {
case XSSFCell.CELL_TYPE_NUMERIC:
//存在空行的情况,跳过
if (row.getCell(0)==null) {
continue;
}
//将取到的dubloe类型数据转换为字符串类型
DecimalFormat dFormat = new DecimalFormat("#");
String phoneStr = dFormat.format((row.getCell(0).getNumericCellValue()));
phones.add(phoneStr);
break;
case XSSFCell.CELL_TYPE_STRING:
//String类型
if (row.getCell(0)==null||StringUtils.isBlank(row.getCell(0).getStringCellValue())) {
continue;
}
phones.add(row.getCell(0).getStringCellValue());
break;
default:
break;
}
}
}
return phone;