Class ExcelReader<T>

java.lang.Object
com.github.cla9.excel.reader.worker.ExcelReader<T>
Type Parameters:
T - the type parameter
All Implemented Interfaces:
Reader<T>
Direct Known Subclasses:
SAXReader, WorkBookReader

public abstract class ExcelReader<T>
extends java.lang.Object
implements Reader<T>
The type Excel reader.
  • Field Summary

    Fields 
    Modifier and Type Field Description
    protected EntityParser entityParser
    The Entity parser.
    protected java.util.Optional<java.lang.String> sheetName
    Target sheet name of excel file.
    protected java.lang.Class<T> tClass
    The T class.
  • Constructor Summary

    Constructors 
    Modifier Constructor Description
    protected ExcelReader​(java.lang.Class<T> tClass)
    Instantiates a new Excel reader.
      ExcelReader​(java.lang.Class<T> tClass, ExcelMetaModel excelMetaModel)
    Instantiates a new Excel reader.
      ExcelReader​(java.lang.Class<T> tClass, EntityParser entityParser, EntityInstantiator<T> entityGenerator)
    Instantiates a new Excel reader.
    protected ExcelReader​(java.lang.Class<T> tClass, java.lang.String sheetName)
    Instantiates a new Excel reader.
      ExcelReader​(java.lang.Class<T> tClass, java.lang.String sheetName, ExcelMetaModel excelMetaModel)
    Instantiates a new Excel reader.
  • Method Summary

    Modifier and Type Method Description
    protected ExceptionRow<T> createExceptionRow​(ExcelRowException ex)
    Create exception row exception row.
    ExcelResultSet<T> createResultSet​(org.springframework.web.multipart.MultipartFile multipartFile)
    Create result set excel result set.
    ExcelResultSet<T> createResultSet​(org.springframework.web.multipart.MultipartFile multipartFile, boolean forceMergedHeaderRefresh)
    Create result set excel result set.
    protected abstract ExcelResultSet<T> createResultSet​(org.springframework.web.multipart.MultipartFile multipartFile, ExcelMetaModel metadata, boolean forceMergedHeaderRefresh)
    Create result set excel result set.
    protected <R> T injectValue​(RowHandler<R> rowHandler, java.util.List<java.lang.String> excelFileHeaderNames)
    Inject value t.
    void parse​(org.springframework.web.multipart.MultipartFile multipartFile, java.util.function.Consumer<T> onSuccessConsumer, java.util.function.Consumer<ExcelRowException> onErrorConsumer)
    Parse.
    void parse​(org.springframework.web.multipart.MultipartFile multipartFile, java.util.function.Consumer<T> onSuccessConsumer, java.util.function.Consumer<ExcelRowException> onErrorConsumer, boolean forceMergedHeaderRefresh)
    Parse.
    protected abstract void parseFile​(org.springframework.web.multipart.MultipartFile multipartFile, ExcelMetaModel excelMetaModel, java.util.function.Consumer<T> onSuccessConsumer, java.util.function.Consumer<ExcelRowException> onErrorConsumer, boolean forceMergedHeaderRefresh)
    Parse file.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • tClass

      protected final java.lang.Class<T> tClass
      The T class.
    • entityParser

      protected final EntityParser entityParser
      The Entity parser.
    • sheetName

      protected final java.util.Optional<java.lang.String> sheetName
      Target sheet name of excel file.
  • Constructor Details

    • ExcelReader

      public ExcelReader​(java.lang.Class<T> tClass, EntityParser entityParser, EntityInstantiator<T> entityGenerator)
      Instantiates a new Excel reader.
      Parameters:
      tClass - the t class
      entityParser - the entity parser
      entityGenerator - the entity generator
    • ExcelReader

      protected ExcelReader​(java.lang.Class<T> tClass)
      Instantiates a new Excel reader.
      Parameters:
      tClass - the t class
    • ExcelReader

      protected ExcelReader​(java.lang.Class<T> tClass, java.lang.String sheetName)
      Instantiates a new Excel reader.
      Parameters:
      tClass - target class type
      sheetName - excel sheet name
    • ExcelReader

      public ExcelReader​(java.lang.Class<T> tClass, ExcelMetaModel excelMetaModel)
      Instantiates a new Excel reader.
      Parameters:
      tClass - the t class
      excelMetaModel - the excel meta model
    • ExcelReader

      public ExcelReader​(java.lang.Class<T> tClass, java.lang.String sheetName, ExcelMetaModel excelMetaModel)
      Instantiates a new Excel reader.
      Parameters:
      tClass - the t class
      sheetName - the worksheet name
      excelMetaModel - the excel meta model
  • Method Details

    • createResultSet

      public ExcelResultSet<T> createResultSet​(org.springframework.web.multipart.MultipartFile multipartFile)
      Description copied from interface: Reader
      Create result set excel result set.
      Specified by:
      createResultSet in interface Reader<T>
      Parameters:
      multipartFile - the multipart file
      Returns:
      the excel result set
    • createResultSet

      public ExcelResultSet<T> createResultSet​(org.springframework.web.multipart.MultipartFile multipartFile, boolean forceMergedHeaderRefresh)
      Description copied from interface: Reader
      Create result set excel result set.
      Specified by:
      createResultSet in interface Reader<T>
      Parameters:
      multipartFile - the multipart file
      forceMergedHeaderRefresh - the force merged header refresh
      Returns:
      the excel result set
    • parse

      public void parse​(org.springframework.web.multipart.MultipartFile multipartFile, java.util.function.Consumer<T> onSuccessConsumer, java.util.function.Consumer<ExcelRowException> onErrorConsumer)
      Description copied from interface: Reader
      Parse.
      Specified by:
      parse in interface Reader<T>
      Parameters:
      multipartFile - the multipart file
      onSuccessConsumer - the on success consumer
      onErrorConsumer - the on error consumer
    • parse

      public void parse​(org.springframework.web.multipart.MultipartFile multipartFile, java.util.function.Consumer<T> onSuccessConsumer, java.util.function.Consumer<ExcelRowException> onErrorConsumer, boolean forceMergedHeaderRefresh)
      Description copied from interface: Reader
      Parse.
      Specified by:
      parse in interface Reader<T>
      Parameters:
      multipartFile - the multipart file
      onSuccessConsumer - the on success consumer
      onErrorConsumer - the on error consumer
      forceMergedHeaderRefresh - the force merged header refresh
    • createResultSet

      protected abstract ExcelResultSet<T> createResultSet​(org.springframework.web.multipart.MultipartFile multipartFile, ExcelMetaModel metadata, boolean forceMergedHeaderRefresh)
      Create result set excel result set.
      Parameters:
      multipartFile - the multipart file
      metadata - the metadata
      forceMergedHeaderRefresh - the force merged header refresh
      Returns:
      the excel result set
    • parseFile

      protected abstract void parseFile​(org.springframework.web.multipart.MultipartFile multipartFile, ExcelMetaModel excelMetaModel, java.util.function.Consumer<T> onSuccessConsumer, java.util.function.Consumer<ExcelRowException> onErrorConsumer, boolean forceMergedHeaderRefresh)
      Parse file.
      Parameters:
      multipartFile - the multipart file
      excelMetaModel - the excel meta model
      onSuccessConsumer - the on success consumer
      onErrorConsumer - the on error consumer
      forceMergedHeaderRefresh - the force merged header refresh
    • injectValue

      protected <R> T injectValue​(RowHandler<R> rowHandler, java.util.List<java.lang.String> excelFileHeaderNames) throws ExcelRowException
      Inject value t.
      Type Parameters:
      R - the type parameter
      Parameters:
      rowHandler - the row handler
      excelFileHeaderNames - the excel file header names
      Returns:
      the t
      Throws:
      ExcelRowException - the excel row exception
    • createExceptionRow

      protected ExceptionRow<T> createExceptionRow​(ExcelRowException ex)
      Create exception row exception row.
      Parameters:
      ex - the ex
      Returns:
      the exception row