pub trait DocReadListener<T> {
// Required method
fn invoke(
&mut self,
data: T,
context: &DocReadContext,
) -> Result<(), DocError>;
// Provided methods
fn invoke_table(
&mut self,
table: &TableData,
context: &DocReadContext,
) -> Result<(), DocError> { ... }
fn on_complete(&mut self, _context: &DocReadContext) { ... }
fn on_error(
&mut self,
_error: &DocError,
_context: &DocReadContext,
) -> ErrorAction { ... }
fn has_next(&self, _context: &DocReadContext) -> bool { ... }
}Expand description
流式读取过程中接收已解析内容的监听器。
对应 Java: com.alibaba.excel.read.listener.ReadListener<T>
Required Methods§
Provided Methods§
Sourcefn invoke_table(
&mut self,
table: &TableData,
context: &DocReadContext,
) -> Result<(), DocError>
fn invoke_table( &mut self, table: &TableData, context: &DocReadContext, ) -> Result<(), DocError>
遇到完整表格时调用。
对应 Java: ReadListener#invokeHead(表头行场景)
Sourcefn on_complete(&mut self, _context: &DocReadContext)
fn on_complete(&mut self, _context: &DocReadContext)
所有内容解析完成后调用。
对应 Java: ReadListener#doAfterAllAnalysed
Sourcefn on_error(
&mut self,
_error: &DocError,
_context: &DocReadContext,
) -> ErrorAction
fn on_error( &mut self, _error: &DocError, _context: &DocReadContext, ) -> ErrorAction
读取过程中发生非致命错误时调用。
对应 Java: ReadListener#onException
返回 ErrorAction::Stop 以传播错误,或
ErrorAction::Skip / ErrorAction::Continue 以继续。
Sourcefn has_next(&self, _context: &DocReadContext) -> bool
fn has_next(&self, _context: &DocReadContext) -> bool
处理每个数据项前检查是否应继续读取。返回 false 可提前终止。
对应 Java: ReadListener#hasNext
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".