Skip to main content

DocReadListener

Trait DocReadListener 

Source
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§

Source

fn invoke(&mut self, data: T, context: &DocReadContext) -> Result<(), DocError>

每解析一个数据项(段落文本或表格行)时调用。

对应 Java: ReadListener#invoke

§Errors

返回错误将停止读取;可恢复错误请通过 on_error 返回 ErrorAction

Provided Methods§

Source

fn invoke_table( &mut self, table: &TableData, context: &DocReadContext, ) -> Result<(), DocError>

遇到完整表格时调用。

对应 Java: ReadListener#invokeHead(表头行场景)

Source

fn on_complete(&mut self, _context: &DocReadContext)

所有内容解析完成后调用。

对应 Java: ReadListener#doAfterAllAnalysed

Source

fn on_error( &mut self, _error: &DocError, _context: &DocReadContext, ) -> ErrorAction

读取过程中发生非致命错误时调用。

对应 Java: ReadListener#onException

返回 ErrorAction::Stop 以传播错误,或 ErrorAction::Skip / ErrorAction::Continue 以继续。

Source

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".

Implementors§