public HashMap<String, List<String>> processClassify0815() {
HashMap<String, List<String>> equipmentMap = new HashMap<>();
// 使用 ClassLoader 从 resources 目录读取文件
String filePath = "TemporaryExcel/树形结构模版.xlsx"; // 相对路径
try(InputStream fileInputStream = ExcelReader.class.getClassLoader().getResourceAsStream(filePath)) {
// FileInputStream fileInputStream = new FileInputStream("C:\\Users\\Administrator\\Desktop\\广航导入的系统表格\\0814系统树\\树形结构模版.xlsx");
// 使用EasyExcel读取数据
EasyExcel.read(fileInputStream, new AnalysisEventListener<Map<Integer, String>>() {
private boolean isFirstRow = true;
private List<String> headers = new ArrayList<>();
@Override
public void invoke(Map<Integer, String> rowData, AnalysisContext context) {
if (isFirstRow) {
// 第一行作为表头
headers = new ArrayList<>(rowData.values());
isFirstRow = false;
} else {
// 从第二行开始,填充HashMap
for (int i = 0; i < headers.size(); i++) {
String header = headers.get(i);
String value = rowData.get(i);
// 如果值为空,可以选择跳过或添加空值
if (value != null && !value.trim().isEmpty()) {
equipmentMap.computeIfAbsent(header, k -> new ArrayList<>()).add(value);
}
}
}
}
@Override
public void doAfterAllAnalysed(AnalysisContext context) {
// 读取完成后的操作
System.out.println("读取完成,设备分类信息已存储到 HashMap 中。");
}
}).sheet().doRead();
} catch (Exception e) {
e.printStackTrace();
return null;
}
// 打印 HashMap
for (String key : equipmentMap.keySet()) {
System.out.println(key + ": " + equipmentMap.get(key));
}
return equipmentMap;
}
01-08
1063