十. EasyExcel读取所有sheet的数据

一. 概述

在有些业务场景, 每个sheet的数据结构是一样的(即标题是一样的), 有多少个sheet是不知道的, 我想一次把所有的sheet的数据用简单的方法一次读取完. 下面就介绍用easyExcel的readAll()方法读取

二. 示例

2.1 读取工具类

    /**
     * 使用 模型 来读取Excel
     *
     * @param fileInputStream Excel的输入流
     * @param tClass         模型的类
     * @return 返回 模型 的列表(为object列表,需强转)
     */
    public static <T> List<T> readExcelAllSheet(InputStream fileInputStream, Class<T> tClass) throws IOException {
        AnalysisEventListenerImpl<T> listener = new AnalysisEventListenerImpl<T>();
        ExcelReader excelReader = EasyExcel.read(fileInputStream, tClass, listener).build();
        excelReader.readAll();
        excelReader.finish();
        return listener.getDatas();
    }

2.2 使用

    @Test
    public void testReadAllSheet() throws IOException {
        // 输入流
        FileInputStream inputStream = new FileInputStream("D:\\MyData\\wangpr\\Desktop\\多语言翻译导出.xlsx");
        List<MultiLanguage> listenerDatas = readExcelAllSheet(inputStream, MultiLanguage.class);
        if(CollectionUtils.isNotEmpty(listenerDatas)){
            listenerDatas.forEach(System.out::println);
        }
    }
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容