Java和基础

十. EasyExcel读取所有sheet的数据

2021-03-25  本文已影响0人  任未然

一. 概述

在有些业务场景, 每个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);
        }
    }
上一篇 下一篇

猜你喜欢

热点阅读