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
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 Summary
FieldsModifier and TypeFieldDescriptionbooleanprotected booleanFields inherited from class cn.creekmoon.excel.core.R.reader.Reader
newObjectSupplier, readerResult, sheetIndex, TEMPLATE_CONSISTENCY_CHECK_FAILED -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract <T> CellReader<R> addConvert(int rowIndex, int colIndex, ExFunction<String, T> convert, BiConsumer<R, T> setter) 添加一个单元格转换器abstract CellReader<R> addConvert(int rowIndex, int colIndex, BiConsumer<R, String> setter) 添加一个单元格转换器abstract <T> CellReader<R> addConvert(String cellReference, ExFunction<String, T> convert, BiConsumer<R, T> setter) 添加一个单元格转换器abstract CellReader<R> addConvert(String cellReference, BiConsumer<R, String> reader) 添加一个单元格转换器abstract <T> CellReader<R> addConvertAndMustExist(int rowIndex, int colIndex, ExFunction<String, T> convert, BiConsumer<R, T> setter) 添加一个单元格转换器并要求存在值abstract CellReader<R> addConvertAndMustExist(int rowIndex, int colIndex, BiConsumer<R, String> setter) 添加一个单元格转换器并要求存在值abstract CellReader<R> addConvertAndMustExist(String cellReference, BiConsumer<R, String> setter) 添加一个单元格转换器并要求存在值abstract <T> CellReader<R> addConvertAndSkipEmpty(int rowIndex, int colIndex, ExFunction<String, T> convert, BiConsumer<R, T> setter) 添加一个单元格转换器并跳过空值abstract <T> CellReader<R> addConvertAndSkipEmpty(int rowIndex, int colIndex, BiConsumer<R, String> setter) 添加一个单元格转换器并跳过空值abstract <T> CellReader<R> addConvertAndSkipEmpty(String cellReference, ExFunction<String, T> convert, BiConsumer<R, T> setter) 添加一个单元格转换器并跳过空值abstract CellReader<R> addConvertAndSkipEmpty(String cellReference, BiConsumer<R, String> setter) 添加一个单元格转换器并跳过空值Methods inherited from class cn.creekmoon.excel.core.R.reader.Reader
getReadResult, getSheetIndex, read, read
-
Field Details
-
currentNewObject
-
mustExistCells
-
skipEmptyCells
-
cell2converts
-
cell2setter
-
TEMPLATE_CONSISTENCY_CHECK_ENABLE
public boolean TEMPLATE_CONSISTENCY_CHECK_ENABLE -
TEMPLATE_CONSISTENCY_CHECK_HAS_FAILED
protected boolean TEMPLATE_CONSISTENCY_CHECK_HAS_FAILED
-
-
Constructor Details
-
CellReader
-
-
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 --> Datesetter- Setter方法, 例如 setStartDate(Date date)- Returns:
-
addConvert
添加一个单元格转换器- 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 --> Datesetter- Setter方法, 例如 setStartDate(Date date)- Returns:
-
addConvert
添加一个单元格转换器- 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 --> Datesetter- 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 --> Datesetter- 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 -> Datesetter- 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:
-