类 ReadExcelListener<T extends BaseExcelModel>

java.lang.Object
com.diboot.file.excel.listener.ReadExcelListener<T>
所有已实现的接口:
com.alibaba.excel.event.Listener, com.alibaba.excel.read.listener.ReadListener<T>
直接已知子类:
FixedHeadExcelListener, PageReadExcelListener

public abstract class ReadExcelListener<T extends BaseExcelModel> extends Object implements com.alibaba.excel.read.listener.ReadListener<T>
读取Excel
版本:
v2.4.0
作者:
wind
  • 字段详细资料

    • headMap

      @Deprecated protected Map<Integer,String> headMap
      已过时。
      解析出的excel表头
    • fieldHeadMap

      private final Map<String,String> fieldHeadMap
      字段名-列名的映射
    • fieldNameMap

      private final HashMap<Integer,String> fieldNameMap
      属性名映射
    • headNameMap

      private final TreeMap<Integer,List<String>> headNameMap
      列名映射
    • requestParams

      private Map<String,Object> requestParams
      注入request
    • preview

      protected boolean preview
      是否为预览模式
    • importFileUuid

      protected String importFileUuid
      导入文件的uuid
    • previewDataList

      private List<T extends BaseExcelModel> previewDataList
      预览数据
    • exceptionMsgs

      private List<String> exceptionMsgs
      异常信息
    • errorMsgs

      private List<String> errorMsgs
      错误信息
    • totalCount

      private Integer totalCount
    • errorCount

      protected Integer errorCount
    • errorDataFilePath

      private String errorDataFilePath

      保存错误数据

      写到excel文件中
    • excelWriter

      private com.alibaba.excel.ExcelWriter excelWriter
    • writeSheet

      private com.alibaba.excel.write.metadata.WriteSheet writeSheet
    • commentWriteHandler

      private CommentWriteHandler commentWriteHandler
  • 构造器详细资料

    • ReadExcelListener

      public ReadExcelListener()
  • 方法详细资料

    • getProperCount

      public Integer getProperCount()
      获取正确数据数量
    • invokeHead

      public void invokeHead(Map<Integer,com.alibaba.excel.metadata.data.ReadCellData<?>> headMap, com.alibaba.excel.context.AnalysisContext context)
      excel表头数据
      指定者:
      invokeHead 在接口中 com.alibaba.excel.read.listener.ReadListener<T extends BaseExcelModel>
    • invoke

      public void invoke(T data, com.alibaba.excel.context.AnalysisContext context)
      当前一行数据解析成功后的操作
      指定者:
      invoke 在接口中 com.alibaba.excel.read.listener.ReadListener<T extends BaseExcelModel>
    • finish

      protected void finish()

      完成

      处理结束后需调用一次
    • onException

      public void onException(Exception exception, com.alibaba.excel.context.AnalysisContext context) throws Exception

      异常处理

      修补数据,回写错误
      指定者:
      onException 在接口中 com.alibaba.excel.read.listener.ReadListener<T extends BaseExcelModel>
      抛出:
      Exception
    • cachedData

      protected abstract void cachedData(T data)

      缓存数据

    • addExceptionMsg

      protected void addExceptionMsg(String exceptionMsg)
      添加异常信息
      参数:
      exceptionMsg -
    • handle

      protected void handle(List<T> dataList)

      处理数据

      参数:
      dataList - 数据列表
    • isProper

      protected boolean isProper(T data)

      是否为正确数据

      供子类重写
      参数:
      data - 数据
      返回:
    • errorData

      protected void errorData(List<T> dataList)

      错误数据处理

      参数:
      dataList -
    • validateOrConvertDictAndRefField

      protected void validateOrConvertDictAndRefField(List<T> dataList, boolean preview)
      检查或转换字典和关联字段
    • additionalValidate

      protected abstract void additionalValidate(List<T> dataList, Map<String,Object> requestParams)

      自定义数据检验方式

      例:数据重复性校验等,添加校验批注信息
    • saveData

      protected abstract void saveData(List<T> dataList, Map<String,Object> requestParams)

      保存数据

    • getTableHeads

      public List<TableHead> getTableHeads()
      获取Excel表头
      返回:
      表头映射
    • getExcelModelClass

      public Class<T> getExcelModelClass()
      获取Excel映射的Model类