springboot 中 读取excel Easy Excel 上传的文件返回list数据集公共方法
时间: 2024-03-06 11:48:46 浏览: 212
springboot实现上传并解析Excel过程解析
好的,以下是一个读取Excel并返回List数据集的Spring Boot公共方法,使用EasyExcel库实现:
```java
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelReader;
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import com.alibaba.excel.metadata.Sheet;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
public class ExcelUtils {
/**
* 读取Excel文件并返回List数据集
* @param file Excel文件
* @return List数据集
*/
public static List<Object> readExcelToList(MultipartFile file) throws IOException {
List<Object> list = new ArrayList<>();
InputStream inputStream = file.getInputStream();
ExcelReader excelReader = EasyExcel.read(inputStream).build();
List<Sheet> sheets = excelReader.getSheets();
for (Sheet sheet : sheets) {
excelReader.read(sheet, new AnalysisEventListener<Object>() {
@Override
public void invoke(Object data, AnalysisContext context) {
list.add(data);
}
@Override
public void doAfterAllAnalysed(AnalysisContext context) {
// 解析结束销毁不用的资源
try {
excelReader.finish();
} catch (IOException e) {
e.printStackTrace();
}
}
});
}
return list;
}
}
```
这个方法接受一个MultipartFile类型的文件参数,将其转换为InputStream类型,然后使用EasyExcel库读取Excel文件并将数据加入到返回的List数据集中。请注意,这个方法还需要处理IOException异常。
阅读全文