Class CellReader<R>

java.lang.Object
cn.creekmoon.excel.core.R.reader.Reader<R>
cn.creekmoon.excel.core.R.reader.cell.CellReader<R>
Type Parameters:
R - the type of the object being read and populated with data
Direct Known Subclasses:
HutoolCellReader

public abstract class CellReader<R> extends Reader<R>
This interface extends the `Reader` interface and provides methods to add cell converters for reading and extracting data from specific cells in a spreadsheet. It allows converting values from string to specified types and setting the converted values into corresponding fields or properties of an object.
  • Field Details

  • Constructor Details

  • Method Details

    • addConvert

      public abstract <T> CellReader<R> addConvert(String cellReference, ExFunction<String,T> convert, BiConsumer<R,T> setter)
      添加一个单元格转换器
      Type Parameters:
      T -
      Parameters:
      cellReference - 单元格引用名称,例如 "F2"
      convert - 数值类型适配器, 例如 String --> Date
      setter - Setter方法, 例如 setStartDate(Date date)
      Returns:
    • addConvert

      public abstract CellReader<R> addConvert(String cellReference, BiConsumer<R,String> reader)
      添加一个单元格转换器
      Parameters:
      cellReference - 单元格引用名称,例如 "F2"
      reader - Setter方法, 例如 setName(String name)
      Returns:
    • addConvert

      public abstract <T> CellReader<R> addConvert(int rowIndex, int colIndex, ExFunction<String,T> convert, BiConsumer<R,T> setter)
      添加一个单元格转换器
      Type Parameters:
      T -
      Parameters:
      rowIndex - 行索引
      colIndex - 列索引
      convert - 数值类型适配器, 例如 String --> Date
      setter - Setter方法, 例如 setStartDate(Date date)
      Returns:
    • addConvert

      public abstract CellReader<R> addConvert(int rowIndex, int colIndex, BiConsumer<R,String> setter)
      添加一个单元格转换器
      Parameters:
      rowIndex - 行索引
      colIndex - 列索引
      setter - Setter方法, 例如 setName(String name)
      Returns:
    • addConvertAndSkipEmpty

      public abstract <T> CellReader<R> addConvertAndSkipEmpty(int rowIndex, int colIndex, BiConsumer<R,String> setter)
      添加一个单元格转换器并跳过空值
      Type Parameters:
      T -
      Parameters:
      rowIndex - 行索引
      colIndex - 列索引
      setter - Setter方法, 例如 setName(String name)
      Returns:
    • addConvertAndSkipEmpty

      public abstract <T> CellReader<R> addConvertAndSkipEmpty(int rowIndex, int colIndex, ExFunction<String,T> convert, BiConsumer<R,T> setter)
      添加一个单元格转换器并跳过空值
      Type Parameters:
      T -
      Parameters:
      rowIndex - 行索引
      colIndex - 列索引
      convert - 数值类型适配器,例如 String --> Date
      setter - Setter方法,例如 setStartDate(Date date)
      Returns:
    • addConvertAndSkipEmpty

      public abstract <T> CellReader<R> addConvertAndSkipEmpty(String cellReference, ExFunction<String,T> convert, BiConsumer<R,T> setter)
      添加一个单元格转换器并跳过空值
      Type Parameters:
      T -
      Parameters:
      cellReference - 单元格引用名称,例如 "F2"
      convert - 数值类型适配器,例如 String --> Date
      setter - Setter方法,例如 setStartDate(Date date)
      Returns:
    • addConvertAndSkipEmpty

      public abstract CellReader<R> addConvertAndSkipEmpty(String cellReference, BiConsumer<R,String> setter)
      添加一个单元格转换器并跳过空值
      Parameters:
      cellReference - 单元格引用名称,例如 "F2"
      setter - Setter方法,例如 setName(String name)
      Returns:
    • addConvertAndMustExist

      public abstract <T> CellReader<R> addConvertAndMustExist(int rowIndex, int colIndex, ExFunction<String,T> convert, BiConsumer<R,T> setter)
      添加一个单元格转换器并要求存在值
      Type Parameters:
      T -
      Parameters:
      rowIndex - 行索引
      colIndex - 列索引
      convert - 数值类型适配器,例如 String -> Date
      setter - Setter方法,例如 setStartDate(Date date)
      Returns:
    • addConvertAndMustExist

      public abstract CellReader<R> addConvertAndMustExist(int rowIndex, int colIndex, BiConsumer<R,String> setter)
      添加一个单元格转换器并要求存在值
      Parameters:
      rowIndex - 行索引
      colIndex - 列索引
      setter - Setter方法,例如 setName(String name)
      Returns:
    • addConvertAndMustExist

      public abstract CellReader<R> addConvertAndMustExist(String cellReference, BiConsumer<R,String> setter)
      添加一个单元格转换器并要求存在值
      Parameters:
      cellReference - 单元格引用名称,例如 "F2"
      setter - Setter方法,例如 setName(String name)
      Returns: