public static List<User> getFile() {
List<User> list = null;
String excelPath = "D:\\Users\\Desktop\\file_demo.xlsx";
try {
//String encoding = "GBK";
File excel = new File(excelPath);
if (excel.isFile() && excel.exists()) {
String[] split = excel.getName().split("\\.");
Workbook wb;
//根据文件后缀(xls/xlsx)进行判断
if ("xls".equals(split[1])) {
FileInputStream fis = new FileInputStream(excel);
wb = new HSSFWorkbook(fis);
} else if ("xlsx".equals(split[1])) {
wb = new XSSFWorkbook(excel);
} else {
System.out.println("文件类型错误!");
return null;
}
//开始解析
Map<String, User> maps = new HashMap<>();
for (int j = 0; j < 9; j++) {
Sheet sheet = wb.getSheetAt(j);
User task = null;
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
log.info("---------jjj = {}", j);
for (int i = 0; i < sheet.getPhysicalNumberOfRows(); i++) {
Row row = sheet.getRow(i);
if (row != null) {
String lineB = row.getCell(1).getStringCellValue();
Date endTime = simpleDateFormat.parse(lineB.replaceFirst(" ", ""));
String lineC = row.getCell(2).getStringCellValue();
log.info(" i = {}, endTime = {}, lineC = {}", i, endTime, lineC );
task = maps.get(lineC );
if (null == task) {
task = new User();
task.setStatus(ConsoleQueryAgoraTaskStatusEnum.WAITING.code());
task.setAge(lineC );
task.setCreateTime(endTime);
task.setVersion(1);
maps.put(lineC , task);
} else {
if (endTime.compareTo(task.getCreateTime()) == 1) {
task.setCreateTime(endTime);
maps.put(lineC , task);
}
}
}
}
}
list = maps.values().stream().collect(Collectors.toList());
} else {
System.out.println("找不到指定的文件");
}
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
Java解析excel文件
最新推荐文章于 2024-04-17 19:11:45 发布