大数据量的Excel文件读取时间过长,采用逐行读取的方式,边读取边处理。
支持 xls 和 xlsx文件
1. 依赖
<!--poi-->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.2</version>
</dependency>
<!--工具类-->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.9</version>
</dependency>
2. 示例
package com.ssh.util;
import com.ssh.util.excel.ExcelReaderUtil;
import com.ssh.util.excel.ExcelRowReader;
import org.junit.Test;
public class ExcelUtilTest {
/**
* 读取Excel文件内容
*/
@Test
public void readExcelTest(){
try{
// Excel文件位置
String path = this.getClass().getResource("/test.xlsx").getPath();
// Excel读取工具
ExcelRowReader reader = null;
reader = new ExcelRowReader(map -> {
// 读取后的处理方法
System.out.println(map);
});
ExcelReaderUtil.readExcelByFn(reader, path);
}catch (Exception ex){
ex.printStackTrace();
}
}
}