easyexcel 官网:EasyExcel官方文档 - 基于Java的Excel处理工具 | Easy Excel
1. 引入依赖并给出示例 excel
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>3.1.0</version>
</dependency>
2. 两种读取的方式
(1)确定表头:建立对象,和表头形成映射。(这里以此为例)
(2)不确定表头:每一行映射为 Map<String, Object>。
3. 先创建 excel 中表头对应的对象类
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
/**
* 用户信息表格
*/
@Data
public class TableUserInfo {
/**
* id
*/
// @ExcelProperty(index = 2) // index 表示在 excel 表中的第几列,但这里用列名表示
@ExcelProperty("")
private String planetCode;
/**
* 用户昵称
*/
@ExcelProperty()
private String username;
}
4. 创建读取 excel 表格的主类,里面有两种方法,注意这两种方法都需要先创建 excel 表格对应的对象类。但只有第二种方法需要创建监听器。文章来源:https://www.toymoban.com/news/detail-655798.html
import com.alibaba.excel.EasyExcel;
import java.util.List;
/**
* 导入 excel 数据
*/
public class ImportExcel {
/**
* 读取数据
* @param args
*/
public static void main(String[] args) {
// excel 表格路径
String fileName = "D:\\testExcel.xlsx";
// readByListener(fileName);
synchronousRead(fileName);
}
/**
* 第一种方法:同步读
* @param fileName
*/
public static void synchronousRead(String fileName) {
// 这里 需要指定读用哪个class去读,然后读取第一个sheet 同步读取会自动finish
List<TableUserInfo> totalDataList =
EasyExcel.read(fileName).head(TableUserInfo.class).sheet().doReadSync();
for (TableUserInfo tableUserInfo : totalDataList) {
System.out.println(tableUserInfo);
}
}
/**
* 第二种方法:监听器(需要创建监听器)
* @param fileName
*/
public static void readByListener(String fileName) {
EasyExcel.read(fileName, TableUserInfo.class, new TableListener()).sheet().doRead();
}
}
5. 创建监听器文章来源地址https://www.toymoban.com/news/detail-655798.html
@Slf4j
public class TableListener implements ReadListener<TableUserInfo> { // 这里的 TableUserInfo 修改为 excel 对应的对象类
/**
* 这个每一条数据解析都会来调用
*
* @param data one row value. Is is same as {@link AnalysisContext#readRowHolder()}
* @param context
*/
@Override
public void invoke(TableUserInfo data, AnalysisContext context) {
System.out.println(data);
}
/**
* 所有数据解析完成了 都会来调用
*
* @param context
*/
@Override
public void doAfterAllAnalysed(AnalysisContext context) {
System.out.println("已解析完成");
}
}
到了这里,关于Java 使用 easyexcel 读取 excel 文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!