public <T> List<T> readExcel(InputStream inputStream, BasicExcelListener<?> listener, Class<T> clazz, int headRowNumber) { if (inputStream == null) { return new ArrayList<>(); } if (listener == null) { throw new RuntimeException("excelListener is null"); } EasyExcel.read(inputStream, clazz, listener).headRowNumber(headRowNumber).sheet(0).doRead(); return listener.getList(); }
时间: 2024-04-20 07:26:01 浏览: 128
Java实现inputstream流的复制代码实例
这段代码是一个读取 Excel 文件内容的方法。它接收一个输入流 `inputStream`,一个 `BasicExcelListener<?>` 类型的监听器 `listener`,一个指定返回类型的 `Class<T>` 类型的参数 `clazz`,以及一个 `headRowNumber` 表示表头所在的行号。
首先,代码会检查 `inputStream` 是否为空,如果为空,则返回一个空的 `ArrayList`。
然后,代码会检查 `listener` 是否为空,如果为空,则抛出一个运行时异常,提示 "excelListener is null"。
接下来,代码使用 EasyExcel 工具类的 `read()` 方法,传入 `inputStream`、`clazz` 和 `listener`,并通过链式调用 `headRowNumber()` 方法设置表头所在的行号,再通过 `sheet(0)` 方法指定读取第一个 sheet 的内容。
最后,调用 `doRead()` 方法执行读取操作,并返回监听器 `listener` 中的数据列表。
总的来说,这段代码使用了 EasyExcel 库来读取 Excel 文件内容,并通过传入的监听器来处理读取到的数据。
阅读全文