[alibaba/easyexcel]自定义表头的时候,怎么指定某个列的converter

2024-05-21 105 views
2

现在是一个模板对象,会因为用户不同,表头也会不同,所以弄成自定义表头。用模板对象的时候,可以用@ExcelProperty来指定某列的converter。现在使用AbstractParameterBuilder#head(java.util.List<java.util.List<java.lang.String>>)来自定义表头,不同列的converter是不同的,怎么指定某些列的converter?

回答

9

我也想问下这个问题,有结论了么

1

我也想问下这个问题,有结论了么

还没,暂时手动转换了下

6

其实还有种麻烦一些的方法,就是指定全局convert,然后convert里判断列的索引,根据索引来对某些列的数据进行处理。 但其实也还有个问题是convert里好像获取不到列索引,只能自己设置一个轮转器 public class ImageConverter implements Converter {

@Override
public Class supportJavaTypeKey() {
    return String.class;
}

@Override
public CellDataTypeEnum supportExcelTypeKey() {
    return CellDataTypeEnum.IMAGE;
}

@Override
public String convertToJavaData(CellData cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) {
    throw new UnsupportedOperationException("Cannot convert images to string");
}

@Override
public CellData convertToExcelData(String value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws IOException {

//有个问题是ExcelContentProperty contentProperty获取不到

}

3

这个目前没法支持 后续想想