mirror of
http://git.pig4cloud.com/pig/pigx.git
synced 2026-11-08 04:39:00 +08:00
feat(excel-converters): 增强内置转换器功能,添加 StringArrayConverter.WRITE_INSTANCE
- 注册 StringArrayConverter.WRITE_INSTANCE 到 Excel 写构造器 - 优化代码格式,保持一致性 (cherry picked from commit 3800300f7f101560674dacc6a0840e279b753a2e)
This commit is contained in:
1 parent
1db9bdc636
commit
abf10a2a19
2 files changed
+39
-30
No files matched your search
+23
-24
@@ -13,32 +13,31 @@ import java.util.List;
|
||||
*/
|
||||
public final class BuiltinConverters {
|
||||
|
||||
private BuiltinConverters() {
|
||||
}
|
||||
private BuiltinConverters() {
|
||||
}
|
||||
|
||||
/**
|
||||
* 读写 Excel 时默认启用的转换器列表。
|
||||
*/
|
||||
private static final List<Converter<?>> INSTANCES = List.of(LocalDateStringConverter.INSTANCE,
|
||||
LocalTimeStringConverter.INSTANCE, LocalDateTimeStringConverter.INSTANCE, LongStringConverter.INSTANCE,
|
||||
StringArrayConverter.INSTANCE);
|
||||
/**
|
||||
* 读写 Excel 时默认启用的转换器列表。
|
||||
*/
|
||||
private static final List<Converter<?>> INSTANCES = List.of(LocalDateStringConverter.INSTANCE,
|
||||
LocalTimeStringConverter.INSTANCE, LocalDateTimeStringConverter.INSTANCE, LongStringConverter.INSTANCE,
|
||||
StringArrayConverter.INSTANCE);
|
||||
|
||||
/**
|
||||
* 注册内置转换器到 Excel 写构造器。
|
||||
*
|
||||
* @param builder Excel 写构造器
|
||||
*/
|
||||
public static void registerTo(ExcelWriterBuilder builder) {
|
||||
INSTANCES.forEach(builder::registerConverter);
|
||||
}
|
||||
/**
|
||||
* 注册内置转换器到 Excel 写构造器。
|
||||
* @param builder Excel 写构造器
|
||||
*/
|
||||
public static void registerTo(ExcelWriterBuilder builder) {
|
||||
INSTANCES.forEach(builder::registerConverter);
|
||||
builder.registerConverter(StringArrayConverter.WRITE_INSTANCE);
|
||||
}
|
||||
|
||||
/**
|
||||
* 注册内置转换器到 Excel 读构造器。
|
||||
*
|
||||
* @param builder Excel 读构造器
|
||||
*/
|
||||
public static void registerTo(ExcelReaderBuilder builder) {
|
||||
INSTANCES.forEach(builder::registerConverter);
|
||||
}
|
||||
/**
|
||||
* 注册内置转换器到 Excel 读构造器。
|
||||
* @param builder Excel 读构造器
|
||||
*/
|
||||
public static void registerTo(ExcelReaderBuilder builder) {
|
||||
INSTANCES.forEach(builder::registerConverter);
|
||||
}
|
||||
|
||||
}
|
||||
+16
-6
@@ -18,10 +18,20 @@ public enum StringArrayConverter implements Converter<String[]> {
|
||||
/**
|
||||
* 实例
|
||||
*/
|
||||
INSTANCE;
|
||||
INSTANCE,
|
||||
|
||||
/**
|
||||
* 未指定目标单元格类型时,FESOD 使用 null 作为导出转换器的类型键。
|
||||
*/
|
||||
WRITE_INSTANCE {
|
||||
@Override
|
||||
public CellDataTypeEnum supportExcelTypeKey() {
|
||||
return null;
|
||||
}
|
||||
};
|
||||
|
||||
@Override
|
||||
public Class<?> supportJavaTypeKey() {
|
||||
public Class<?> supportJavaTypeKey() {
|
||||
return String[].class;
|
||||
}
|
||||
|
||||
@@ -31,15 +41,15 @@ public enum StringArrayConverter implements Converter<String[]> {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] convertToJavaData(ReadCellData<?> cellData, ExcelContentProperty contentProperty,
|
||||
GlobalConfiguration globalConfiguration) {
|
||||
return StrUtil.splitToArray(cellData.getStringValue(), StrUtil.COMMA);
|
||||
public String[] convertToJavaData(ReadCellData<?> cellData, ExcelContentProperty contentProperty,
|
||||
GlobalConfiguration globalConfiguration) {
|
||||
return StrUtil.splitToArray(cellData.getStringValue(), StrUtil.COMMA);
|
||||
}
|
||||
|
||||
@Override
|
||||
public WriteCellData<String> convertToExcelData(String[] value, ExcelContentProperty contentProperty,
|
||||
GlobalConfiguration globalConfiguration) {
|
||||
return new WriteCellData<>(String.join(StrUtil.COMMA, value));
|
||||
return new WriteCellData<>(String.join(StrUtil.COMMA, value));
|
||||
}
|
||||
|
||||
}
|
||||
Reference in new issue
Block a user