chenrui
2025-04-07 5ac3cab3bc6a877c59719cc4b4de758444ea4dd8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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);
        }
    }
}