public List<String> getValueList(String fileName, MultipartFile file) {
List<String> list = new ArrayList<String>();
try {
if (!fileName.matches("^.+\\.(?i)(xls)$") && !fileName.matches("^.+\\.(?i)(xlsx)$")) {
throw new ApiException("-1", "上传文件格式不正确");
}
boolean isExcel2003 = true;
if (fileName.matches("^.+\\.(?i)(xlsx)$")) {
isExcel2003 = false;
}
InputStream is = file.getInputStream();
Workbook wb = null;
if (isExcel2003) {
wb = new HSSFWorkbook(is);
} else {
wb = new XSSFWorkbook(is);
}
Sheet sheet = wb.getSheetAt(0);
BatchUpdateH5UserVO user;
for (int r = 0; r <= sheet.getLastRowNum(); r++) {
Row row = sheet.getRow(r);
if (row == null) {
continue;
}
Cell cell = row.getCell(0);
if (cell == null) {
list.add("aa");
continue;
}
String phone = getValue(cell);
if (phone == null || phone.isEmpty()) {
continue;
}
list.add(phone);
}
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
private String getValue(Cell cell) {
String str = "";
if (cell.getCellType() == CellType.NUMERIC) {
BigDecimal bigDecimal = new BigDecimal(cell.getNumericCellValue());
String s = bigDecimal.toPlainString();
str = s;
} else if (cell.getCellType() == CellType.STRING) {
str = cell.getStringCellValue();
}
return str;
}