easyexcel 无实体类导入excel到数据库
时间: 2023-09-17 17:10:26 浏览: 245
使用 EasyExcel 无需实体类导入 Excel 到数据库可以按照以下步骤进行:
1. 定义一个自定义的 `AnalysisEventListener`,用于处理读取到的 Excel 数据。
2. 在 `AnalysisEventListener` 中实现 `invoke` 方法,用于处理每一行读取到的数据。
3. 在 `AnalysisEventListener` 中实现 `doAfterAllAnalysed` 方法,用于处理所有数据读取完成后的操作。
4. 在程序中使用 `EasyExcel` 的 `read` 方法,传入 Excel 文件路径和自定义的 `AnalysisEventListener` 对象,完成 Excel 数据读取和处理。
示例代码如下:
```java
public class ExcelListener extends AnalysisEventListener<Map<Integer, String>> {
private List<Map<Integer, String>> dataList = new ArrayList<>();
@Override
public void invoke(Map<Integer, String> rowData, AnalysisContext context) {
System.out.println("读取到数据:" + rowData);
dataList.add(rowData);
}
@Override
public void doAfterAllAnalysed(AnalysisContext context) {
System.out.println("所有数据读取完成!");
// 将 dataList 中的数据保存到数据库
// ...
}
}
```
使用示例:
```java
public static void main(String[] args) {
String fileName = "test.xlsx";
ExcelListener listener = new ExcelListener();
EasyExcel.read(fileName, listener).sheet().doRead();
}
```
以上代码读取 `test.xlsx` 文件中的所有数据,将每一行数据转换成一个 `Map<Integer, String>` 对象,最终保存到 `dataList` 中。在 `doAfterAllAnalysed` 方法中可以将 `dataList` 中的数据保存到数据库。