package cn.iocoder.yudao.framework.excel.core.convert; import cn.hutool.json.JSONUtil; import cn.idev.excel.converters.Converter; import cn.idev.excel.enums.CellDataTypeEnum; import cn.idev.excel.metadata.GlobalConfiguration; import cn.idev.excel.metadata.data.WriteCellData; import cn.idev.excel.metadata.property.ExcelContentProperty; import java.util.List; /** * List 写出为 JSON 文本的转换器 * *

FastExcel 内置没有 List 的转换器,导出含 List 字段的 VO 时 * 会抛 {@code Can not find 'Converter' support class List},接口直接 500。 * 本转换器把集合序列化成 JSON 文本写入单元格,保证导出可用。

* * @author 超级管理员 */ public class ListJsonStringConverter implements Converter { @Override public Class supportJavaTypeKey() { return List.class; } @Override public CellDataTypeEnum supportExcelTypeKey() { return CellDataTypeEnum.STRING; } @Override public WriteCellData convertToExcelData(List value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) { return new WriteCellData<>(JSONUtil.toJsonStr(value)); } }