Class AbstractSheetReader<T>

java.lang.Object
org.aoju.bus.office.excel.reader.AbstractSheetReader<T>
Type Parameters:
T - 读取类型
All Implemented Interfaces:
SheetReader<T>
Direct Known Subclasses:
ColumnSheetReader, ListSheetReader, MapSheetReader

public abstract class AbstractSheetReader<T> extends Object implements SheetReader<T>
抽象Sheet数据读取实现
Since:
Java 17+
Author:
Kimi Liu
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected CellEditor
    单元格值处理接口
    protected final int
    读取结束行(包含,从0开始计数)
    protected boolean
    是否忽略空行
    protected final int
    读取起始行(包含,从0开始计数)
  • Constructor Summary

    Constructors
    Constructor
    Description
    AbstractSheetReader(int startRowIndex, int endRowIndex)
    构造
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addHeaderAlias(String header, String alias)
    增加标题别名
    protected String
    aliasHeader(Object headerObj, int index)
    转换标题别名,如果没有别名则使用原标题,当标题为空时,列号对应的字母便是header
    protected List<String>
    aliasHeader(List<Object> headerList)
    转换标题别名,如果没有别名则使用原标题,当标题为空时,列号对应的字母便是header
    protected List<Object>
    readRow(org.apache.poi.ss.usermodel.Sheet sheet, int rowIndex)
    读取某一行数据
    void
    设置单元格值处理逻辑 当Excel中的值并不能满足我们的读取要求时,通过传入一个编辑接口,可以对单元格值自定义,例如对数字和日期类型值转换为字符串等
    void
    设置标题行的别名Map
    void
    setIgnoreEmptyRow(boolean ignoreEmptyRow)
    设置是否忽略空行

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.aoju.bus.office.excel.reader.SheetReader

    read
  • Field Details

    • startRowIndex

      protected final int startRowIndex
      读取起始行(包含,从0开始计数)
    • endRowIndex

      protected final int endRowIndex
      读取结束行(包含,从0开始计数)
    • ignoreEmptyRow

      protected boolean ignoreEmptyRow
      是否忽略空行
    • cellEditor

      protected CellEditor cellEditor
      单元格值处理接口
  • Constructor Details

    • AbstractSheetReader

      public AbstractSheetReader(int startRowIndex, int endRowIndex)
      构造
      Parameters:
      startRowIndex - 起始行(包含,从0开始计数)
      endRowIndex - 结束行(包含,从0开始计数)
  • Method Details

    • setCellEditor

      public void setCellEditor(CellEditor cellEditor)
      设置单元格值处理逻辑 当Excel中的值并不能满足我们的读取要求时,通过传入一个编辑接口,可以对单元格值自定义,例如对数字和日期类型值转换为字符串等
      Parameters:
      cellEditor - 单元格值处理接口
    • setIgnoreEmptyRow

      public void setIgnoreEmptyRow(boolean ignoreEmptyRow)
      设置是否忽略空行
      Parameters:
      ignoreEmptyRow - 是否忽略空行
    • setHeaderAlias

      public void setHeaderAlias(Map<String,String> headerAlias)
      设置标题行的别名Map
      Parameters:
      headerAlias - 别名Map
    • addHeaderAlias

      public void addHeaderAlias(String header, String alias)
      增加标题别名
      Parameters:
      header - 标题
      alias - 别名
    • aliasHeader

      protected List<String> aliasHeader(List<Object> headerList)
      转换标题别名,如果没有别名则使用原标题,当标题为空时,列号对应的字母便是header
      Parameters:
      headerList - 原标题列表
      Returns:
      转换别名列表
    • aliasHeader

      protected String aliasHeader(Object headerObj, int index)
      转换标题别名,如果没有别名则使用原标题,当标题为空时,列号对应的字母便是header
      Parameters:
      headerObj - 原标题
      index - 标题所在列号,当标题为空时,列号对应的字母便是header
      Returns:
      转换别名列表
    • readRow

      protected List<Object> readRow(org.apache.poi.ss.usermodel.Sheet sheet, int rowIndex)
      读取某一行数据
      Parameters:
      sheet - Sheet
      rowIndex - 行号,从0开始
      Returns:
      一行数据