在Spring Boot中,使用EasyExcel库来读取CSV文件(其实EasyExcel可以处理更加通用的Excel文件)并将数据存储到List中,可以按照以下步骤进行:
- 添加EasyExcel的依赖到你的
pom.xml
文件中。 - 创建一个对应CSV文件列的实体类。
- 使用EasyExcel的
read()
方法读取文件,并指定读取的数据类型。
以下是一个简单的示例代码:
首先,添加EasyExcel的依赖到pom.xml
:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>2.2.6</version>
</dependency>
然后,创建一个对应CSV文件列的实体类。假设CSV文件有两列,分别是name
和age
:
import com.alibaba.excel.annotation.ExcelProperty;
public class SimpleData {
@ExcelProperty(index = 0)
private String name;
@ExcelProperty(index = 1)
private int age;
// 省略getter和setter方法
}
最后,使用EasyExcel读取CSV文件并将数据存入List:
import com.alibaba.excel.EasyExcel;
import java.util.ArrayList;
import java.util.List;
public class ExcelReadExample {
public static void main(String[] args) {
String fileName = "example.csv"; // CSV文件路径
List<SimpleData> list = new ArrayList<>();
// 读取CSV文件
EasyExcel.read(fileName, SimpleData.class, new EasyExcel.ReadListener<SimpleData>() {
@Override
public void invoke(SimpleData data, AnalysisContext context) {
list.add(data);
}
@Override
public void doAfterAllAnalysed(AnalysisContext context) {
// 所有数据解析完成后做的事情
}
}).sheet().doRead();
// 打印读取到的数据
for (SimpleData data : list) {
System.out.println(data.getName() + ", " + data.getAge());
}
}
}
在这个例子中,我们定义了一个ReadListener
,它在每读取一行数据时会被调用,将数据添加到list
中。最后,我们遍历list
打印出读取到的数据。
注意:确保CSV文件的列标题与实体类中的@ExcelProperty
注解的value
或index
匹配。如果CSV文件的列顺序和实体类中的注解顺序不一致,可以通过index
来指定对应的列。