EasyExcel读取上传Excel 返回list 数据 提供公共方法
时间: 2023-12-11 07:04:37 浏览: 32
好的,以下是一个提供公共方法的示例:
```java
@Service
public class ExcelService {
// 定义Excel的列名
private static final String[] HEADERS = {"列1", "列2", "列3"};
// 上传Excel文件并读取数据
public List<Map<String, Object>> readExcel(MultipartFile file) throws IOException {
InputStream inputStream = file.getInputStream();
List<Map<String, Object>> dataList = new ArrayList<>();
// 读取Excel文件
EasyExcel.read(inputStream)
.headRowNumber(1) // 从第2行开始读取数据
.registerReadListener(new ReadListener() {
@Override
public void onReadSheet(int sheetIndex, String sheetName, int totalRowNumber) {
// 读取Sheet的信息
}
@Override
public void onReadRowData(int sheetIndex, int rowIndex, List<String> rowData) {
// 读取每行的数据
Map<String, Object> dataMap = new HashMap<>();
for (int i = 0; i < HEADERS.length; i++) {
dataMap.put(HEADERS[i], rowData.get(i));
}
dataList.add(dataMap);
}
})
.sheet()
.doRead();
return dataList;
}
}
```
在上面的代码中,我们定义了一个`ExcelService`服务类,并在其中提供了一个`readExcel`方法,该方法可以读取上传的Excel文件并返回一个`List<Map<String, Object>>`类型的数据。
你可以将这个代码放到你的项目中,然后通过注入`ExcelService`来使用它。当然,你需要根据实际情况修改代码,例如你的Excel文件可能有不同的列名,你需要修改`HEADERS`数组来指定正确的列名。