easyexcel 读取数据异常时如何获取所在列数
时间: 2023-07-04 12:24:06 浏览: 294
当使用 easyexcel 读取数据时,如果发生异常可以通过以下方式获取所在列数:
1. 在读取数据时,使用 `read` 方法的异常回调函数 `ReadListener`,重写 `onException` 方法,可以获取到异常信息和所在行数和列数,代码示例如下:
```java
public class MyReadListener extends AnalysisEventListener {
@Override
public void onException(Exception exception, AnalysisContext context) throws Exception {
int row = context.readRowHolder().getRowIndex() + 1;
int col = context.readRowHolder().getCellIndex() + 1;
String message = exception.getMessage();
System.out.println("第 " + row + " 行,第 " + col + " 列出现异常:" + message);
}
//...
}
```
2. 在使用 `read` 方法读取数据后,获取 `Sheet` 对象,遍历行和列,可以获取到每个单元格的值和所在行列数,代码示例如下:
```java
Sheet sheet = EasyExcel.read(inputStream).head(head).sheet().build();
List<List<Object>> rows = sheet.getHeadAndBody();
for (int i = 0; i < rows.size(); i++) {
List<Object> rowData = rows.get(i);
for (int j = 0; j < rowData.size(); j++) {
try {
Object cellData = rowData.get(j);
// 处理单元格数据
} catch (Exception e) {
int row = i + 1;
int col = j + 1;
System.out.println("第 " + row + " 行,第 " + col + " 列出现异常:" + e.getMessage());
}
}
}
```
通过以上两种方式,可以获取到 easyexcel 读取数据时发生异常时所在的列数。
阅读全文