pub trait DocConverter<T> {
// Required methods
fn support_type() -> TypeId
where Self: Sized;
fn to_doc_value(&self, value: &T, column: &TableColumn) -> Result<DocValue>;
fn from_doc_value(
&self,
value: &DocValue,
column: &TableColumn,
) -> Result<T>;
}Expand description
Rust 类型 T 与 DocValue 之间的双向转换。
对应 Java: com.alibaba.excel.converters.Converter<T>
通过 ConverterRegistry 或 builder 的 register_converter 方法注册自定义转换器。
Required Methods§
Sourcefn support_type() -> TypeIdwhere
Self: Sized,
fn support_type() -> TypeIdwhere
Self: Sized,
返回此转换器处理的 TypeId。
对应 Java: Converter#supportJavaTypeKey
Sourcefn to_doc_value(&self, value: &T, column: &TableColumn) -> Result<DocValue>
fn to_doc_value(&self, value: &T, column: &TableColumn) -> Result<DocValue>
将 Rust 值转换为文档值(用于写入)。
对应 Java: Converter#convertToExcelData
§Errors
值无法转换时返回 crate::DocError::Conversion。
Sourcefn from_doc_value(&self, value: &DocValue, column: &TableColumn) -> Result<T>
fn from_doc_value(&self, value: &DocValue, column: &TableColumn) -> Result<T>
将文档值转换回 Rust 值(用于读取)。
对应 Java: Converter#convertToJavaData
§Errors
值无法转换时返回 crate::DocError::Conversion。
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".