easyexcel 读取删除线文字
时间: 2023-08-04 16:26:47 浏览: 240
表格删除线
如果你想在使用 EasyExcel 读取 Excel 文件时,获取到其中的删除线文字,可以通过设置 `@ExcelIgnoreUnannotated` 注解来实现。具体步骤如下:
1. 在需要读取的实体类中,添加 `@ExcelIgnoreUnannotated` 注解。
```
@ExcelIgnoreUnannotated
public class ExcelData {
@ExcelProperty(index = 0)
private String name;
@ExcelProperty(index = 1)
private String value;
// 省略 getter 和 setter 方法
}
```
2. 在读取 Excel 文件时,将实体类传入其中,用于将 Excel 中的数据映射到实体类中。
```
String fileName = "test.xlsx";
List<Object> list = EasyExcel.read(fileName).head(ExcelData.class).sheet().doReadSync();
```
3. 在读取到实体类中的数据时,可以通过反射来获取到其中的删除线文字。
```
for (Object obj : list) {
ExcelData data = (ExcelData) obj;
Field[] fields = data.getClass().getDeclaredFields();
for (Field field : fields) {
if (field.getType() == String.class) {
// 获取属性上的 ExcelProperty 注解
ExcelProperty property = field.getAnnotation(ExcelProperty.class);
if (property != null) {
// 如果该属性是删除线文字,输出其内容
if (property.isIncludeDeleted()) {
try {
field.setAccessible(true);
String value = (String) field.get(data);
if (value != null && value.startsWith("~")) {
System.out.println("读取到删除线文字:" + value.substring(1));
}
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
}
}
}
}
```
这样就可以读取到 Excel 文件中的删除线文字了。需要注意的是,删除线文字在 Excel 中以 `~` 开头的字符串来表示,因此在读取时需要判断该字符串是否以 `~` 开头,如果是,则说明该字符串是删除线文字。
阅读全文