Package com.github.javaxcel.in
Class ModelReader<W extends org.apache.poi.ss.usermodel.Workbook,T>
java.lang.Object
com.github.javaxcel.in.AbstractExcelReader<W,T>
com.github.javaxcel.in.ModelReader<W,T>
- Type Parameters:
W
- excel workbookT
- type of model
- All Implemented Interfaces:
ExcelReader<W,T>
public class ModelReader<W extends org.apache.poi.ss.usermodel.Workbook,T> extends AbstractExcelReader<W,T>
Excel reader for model.
-
Field Summary
Fields inherited from class com.github.javaxcel.in.AbstractExcelReader
dataFormatter, formulaEvaluator, limit, numOfModelsRead, workbook
-
Constructor Summary
Constructors Constructor Description ModelReader(W workbook, Class<T> type)
-
Method Summary
Modifier and Type Method Description protected String
getColumnName(org.apache.poi.ss.usermodel.Cell cell, int columnIndex)
protected int
getNumOfColumns(org.apache.poi.ss.usermodel.Row row)
ModelReader<W,T>
limit(int limit)
Limits the number of models.ModelReader<W,T>
parallel()
Makes the conversion from imitated model into real model parallel.protected List<T>
readSheet(org.apache.poi.ss.usermodel.Sheet sheet)
Reads a sheet and Adds rows of the data into list.Methods inherited from class com.github.javaxcel.in.AbstractExcelReader
afterRead, beforeRead, beforeReadModels, getNumOfModels, read, readRow, readSheetAsMaps
-
Constructor Details
-
ModelReader
- Parameters:
workbook
- excel workbooktype
- type of model- See Also:
ExcelReaderFactory.create(Workbook, Class)
-
-
Method Details
-
limit
Limits the number of models.- Specified by:
limit
in interfaceExcelReader<W extends org.apache.poi.ss.usermodel.Workbook,T>
- Overrides:
limit
in classAbstractExcelReader<W extends org.apache.poi.ss.usermodel.Workbook,T>
- Parameters:
limit
- limit for the number of models- Returns:
ModelReader
-
parallel
Makes the conversion from imitated model into real model parallel.We recommend processing in parallel only when dealing with large data. The following table is a benchmark.
+------------+------------+----------+ | row \ type | sequential | parallel | +------------+------------+----------+ | 10,000 | 16s | 13s | +------------+------------+----------+ | 25,000 | 31s | 21s | +------------+------------+----------+ | 100,000 | 2m 7s | 1m 31s | +------------+------------+----------+ | 150,000 | 3m 28s | 2m 1s | +------------+------------+----------+
- Returns:
ModelReader
-
readSheet
Reads a sheet and Adds rows of the data into list.- Specified by:
readSheet
in classAbstractExcelReader<W extends org.apache.poi.ss.usermodel.Workbook,T>
- Parameters:
sheet
- sheet to be read
-
getNumOfColumns
protected int getNumOfColumns(org.apache.poi.ss.usermodel.Row row)- Specified by:
getNumOfColumns
in classAbstractExcelReader<W extends org.apache.poi.ss.usermodel.Workbook,T>
-
getColumnName
- Specified by:
getColumnName
in classAbstractExcelReader<W extends org.apache.poi.ss.usermodel.Workbook,T>
-