**
Java解析多个Sheet数据,并且将表头和表头的说明存放到对象中
**
public PageData processTemplate(PageData pd){
String filePath = "文件路径";
//存放sheet页名称和每个sheet页的中文名和英文名
// Map<String, Map<String, String>> data = new HashMap<>();
Map<String, List> data = new HashMap<>();
// 定义 objSheet 类
try (Workbook workbook = WorkbookFactory.create(new FileInputStream(new File(filePath)))) {
// 遍历每个工作表
for (Sheet sheet : workbook) {
if(!skipList.contains(sheet.getSheetName())){
//每个sheet页的中文名和英文名
// Map<String, String> dataMap = new HashMap<>();
List<ObjSheet> dataList = new ArrayList<>();
// 获取标题
Row hrow = sheet.getRow(1);
//获取中文名
Row crow = sheet.getRow(2);
for (int h = 0; h < hrow.getLastCellNum(); h++) {
Cell hrowCell = hrow.getCell(h);
Cell crowCell = crow.getCell(h);
String key = ExportExcelUtil.getCellToString(hrowCell);
String title = ExportExcelUtil.getCellToString(crowCell);
ObjSheet obj = new ObjSheet(title, key);
dataList.add(obj);
}
// 将每个工作表的数据保存到结果集中
data.put(sheet.getSheetName(), dataList);
}
}
} catch (IOException | InvalidFormatException e) {
// 记录日志并通过异常处理机制适当 的处理异常
e.printStackTrace();
RespUtil.getErrorResp(RespUtil.SYSTEM_ERROR_CODE,e.getMessage());
}
return RespUtil.getSuccessResp(data);
}