package com.ruoyi.basic.excel; import com.alibaba.excel.EasyExcel; import com.ruoyi.basic.pojo.StructureItemParameter; import com.ruoyi.basic.service.StandardTemplateService; import com.ruoyi.basic.service.StructureItemParameterService; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.system.service.ISysDictTypeService; import org.springframework.web.multipart.MultipartFile; import java.io.IOException; public class ExcelMultiSheetImporter { public static String importExcel(MultipartFile file, StructureItemParameterService service, StandardTemplateService standardTemplateService, ISysDictTypeService dictTypeService) { try { // 读取所有Sheet(通过监听器处理每个Sheet) EasyExcel.read(file.getInputStream()) .head(StructureItemParameter.class) // 注册监听器(每个Sheet共用同一个监听器) .registerReadListener(new MultiSheetImportListener(service, standardTemplateService, dictTypeService)) // 自动识别所有Sheet并遍历读取 .doReadAll(); return "导入成功"; } catch (IOException e) { System.out.println(e.getMessage()); return "导入失败:" + StringUtils.substring(e.getMessage(), 0, 100); } } }