Package org.aoju.bus.office.excel
Class ExcelReader
- All Implemented Interfaces:
Closeable,AutoCloseable
Excel读取器
读取Excel工作簿
- Since:
- Java 17+
- Author:
- Kimi Liu
-
Field Summary
-
Constructor Summary
ConstructorsConstructorDescriptionExcelReader(File bookFile, int sheetIndex) 构造ExcelReader(File bookFile, String sheetName) 构造ExcelReader(InputStream bookStream, int sheetIndex) 构造ExcelReader(InputStream bookStream, String sheetName) 构造ExcelReader(String excelFilePath, int sheetIndex) 构造ExcelReader(String excelFilePath, String sheetName) 构造ExcelReader(org.apache.poi.ss.usermodel.Sheet sheet) 构造ExcelReader(org.apache.poi.ss.usermodel.Workbook book, int sheetIndex) 构造ExcelReader(org.apache.poi.ss.usermodel.Workbook book, String sheetName) 构造 -
Method Summary
Modifier and TypeMethodDescriptionorg.apache.poi.ss.extractor.ExcelExtractorgetExtractor(org.apache.poi.ss.usermodel.Workbook wb) 获取ExcelExtractor对象获取Excel写出器 在读取Excel并做一定编辑后,获取写出器写出boolean是否忽略空行read()读取工作簿中指定的Sheet的所有行列数据read(int startRowIndex) 读取工作簿中指定的Sheetread(int startRowIndex, int endRowIndex) 读取工作簿中指定的Sheetread(int startRowIndex, int endRowIndex, boolean aliasFirstLine) 读取工作簿中指定的Sheetread(int headerRowIndex, int startRowIndex, int endRowIndex) 读取Excel为Map的列表 Map表示一行,标题为key,单元格内容为value<T> List<T>读取Excel为Bean的列表<T> List<T>读取Excel为Bean的列表voidread(int startRowIndex, int endRowIndex, org.aoju.bus.core.lang.function.XBiConsumer<org.apache.poi.ss.usermodel.Cell, Object> cellHandler) 读取工作簿中指定的Sheet,此方法为类流处理方式,当读到指定单元格时,会调用CellEditor接口 用户通过实现此接口,可以更加灵活的处理每个单元格的数据voidread(org.aoju.bus.core.lang.function.XBiConsumer<org.apache.poi.ss.usermodel.Cell, Object> cellHandler) 读取工作簿中指定的Sheet,此方法为类流处理方式,当读到指定单元格时,会调用CellEditor接口 用户通过实现此接口,可以更加灵活的处理每个单元格的数据<T> Tread(SheetReader<T> sheetReader) 读取数据为指定类型readAll()读取Excel为Map的列表,读取所有行,默认第一行做为标题,数据从第二行开始 Map表示一行,标题为key,单元格内容为value<T> List<T>读取Excel为Bean的列表,读取所有行,默认第一行做为标题,数据从第二行开始readAsText(org.apache.poi.ss.usermodel.Workbook wb, boolean withSheetName) 读取为文本格式 使用ExcelExtractor提取Excel内容readCellValue(int x, int y) 读取某个单元格的值readRow(int rowIndex) 读取某一行数据setCellEditor(CellEditor cellEditor) 设置单元格值处理逻辑 当Excel中的值并不能满足我们的读取要求时,通过传入一个编辑接口,可以对单元格值自定义,例如对数字和日期类型值转换为字符串等setIgnoreEmptyRow(boolean ignoreEmptyRow) 设置是否忽略空行Methods inherited from class org.aoju.bus.office.excel.ExcelBase
addHeaderAlias, clearHeaderAlias, cloneSheet, close, createCellStyle, createCellStyle, createCellStyle, createColumnStyle, createHyperlink, createHyperlink, getCell, getCell, getCell, getCell, getColumnCount, getColumnCount, getHeaderAlias, getOrCreateCell, getOrCreateCell, getOrCreateCellStyle, getOrCreateCellStyle, getOrCreateColumnStyle, getOrCreateRow, getOrCreateRowStyle, getPhysicalRowCount, getRowCount, getSheet, getSheetCount, getSheetNames, getSheets, getWorkbook, removeHeaderAlias, renameSheet, setHeaderAlias, setSheet, setSheet, setSheet
-
Constructor Details
-
ExcelReader
public ExcelReader(org.apache.poi.ss.usermodel.Sheet sheet) 构造- Parameters:
sheet- Excel中的sheet
-
ExcelReader
构造- Parameters:
excelFilePath- Excel文件路径,绝对路径或相对于ClassPath路径sheetIndex- sheet序号,0表示第一个sheet
-
ExcelReader
构造- Parameters:
bookFile- Excel文件sheetIndex- sheet序号,0表示第一个sheet
-
ExcelReader
构造- Parameters:
bookFile- Excel文件sheetName- sheet名,第一个默认是sheet1
-
ExcelReader
构造- Parameters:
bookStream- Excel文件的流sheetIndex- sheet序号,0表示第一个sheet
-
ExcelReader
构造- Parameters:
bookStream- Excel文件的流sheetName- sheet名,第一个默认是sheet1
-
ExcelReader
public ExcelReader(org.apache.poi.ss.usermodel.Workbook book, int sheetIndex) 构造- Parameters:
book-Workbook表示一个Excel文件sheetIndex- sheet序号,0表示第一个sheet
-
ExcelReader
构造- Parameters:
book-Workbook表示一个Excel文件sheetName- sheet名,第一个默认是sheet1
-
ExcelReader
构造- Parameters:
excelFilePath- Excel文件路径,绝对路径或相对于ClassPath路径sheetName- sheet名,第一个默认是sheet1
-
-
Method Details
-
isIgnoreEmptyRow
public boolean isIgnoreEmptyRow()是否忽略空行- Returns:
- 是否忽略空行
-
setIgnoreEmptyRow
设置是否忽略空行- Parameters:
ignoreEmptyRow- 是否忽略空行- Returns:
- this
-
setCellEditor
设置单元格值处理逻辑 当Excel中的值并不能满足我们的读取要求时,通过传入一个编辑接口,可以对单元格值自定义,例如对数字和日期类型值转换为字符串等- Parameters:
cellEditor- 单元格值处理接口- Returns:
- this
-
read
读取工作簿中指定的Sheet的所有行列数据- Returns:
- 行的集合, 一行使用List表示
-
read
读取工作簿中指定的Sheet- Parameters:
startRowIndex- 起始行(包含,从0开始计数)- Returns:
- 行的集合, 一行使用List表示
-
read
读取工作簿中指定的Sheet- Parameters:
startRowIndex- 起始行(包含,从0开始计数)endRowIndex- 结束行(包含,从0开始计数)- Returns:
- 行的集合, 一行使用List表示
-
read
读取数据为指定类型- Type Parameters:
T- 读取数据类型- Parameters:
sheetReader-SheetReader实现- Returns:
- 数据读取结果
-
read
public void read(org.aoju.bus.core.lang.function.XBiConsumer<org.apache.poi.ss.usermodel.Cell, Object> cellHandler) 读取工作簿中指定的Sheet,此方法为类流处理方式,当读到指定单元格时,会调用CellEditor接口 用户通过实现此接口,可以更加灵活的处理每个单元格的数据- Parameters:
cellHandler- 单元格处理器,用于处理读到的单元格及其数据
-
read
读取工作簿中指定的Sheet- Parameters:
startRowIndex- 起始行(包含,从0开始计数)endRowIndex- 结束行(包含,从0开始计数)aliasFirstLine- 是否首行作为标题行转换别名- Returns:
- 行的集合,一行使用List表示
-
read
public void read(int startRowIndex, int endRowIndex, org.aoju.bus.core.lang.function.XBiConsumer<org.apache.poi.ss.usermodel.Cell, Object> cellHandler) 读取工作簿中指定的Sheet,此方法为类流处理方式,当读到指定单元格时,会调用CellEditor接口 用户通过实现此接口,可以更加灵活的处理每个单元格的数据- Parameters:
startRowIndex- 起始行(包含,从0开始计数)endRowIndex- 结束行(包含,从0开始计数)cellHandler- 单元格处理器,用于处理读到的单元格及其数据
-
read
读取Excel为Map的列表 Map表示一行,标题为key,单元格内容为value- Parameters:
headerRowIndex- 标题所在行,如果标题行在读取的内容行中间,这行做为数据将忽略startRowIndex- 起始行(包含,从0开始计数)endRowIndex- 读取结束行(包含,从0开始计数)- Returns:
- Map的列表
-
read
读取Excel为Bean的列表- Type Parameters:
T- Bean类型- Parameters:
headerRowIndex- 标题所在行,如果标题行在读取的内容行中间,这行做为数据将忽略,从0开始计数startRowIndex- 起始行(包含,从0开始计数)beanType- 每行对应Bean的类型- Returns:
- Map的列表
-
read
读取Excel为Bean的列表- Type Parameters:
T- Bean类型- Parameters:
headerRowIndex- 标题所在行,如果标题行在读取的内容行中间,这行做为数据将忽略,,从0开始计数startRowIndex- 起始行(包含,从0开始计数)endRowIndex- 读取结束行(包含,从0开始计数)beanType- 每行对应Bean的类型- Returns:
- Map的列表
-
readAll
读取Excel为Map的列表,读取所有行,默认第一行做为标题,数据从第二行开始 Map表示一行,标题为key,单元格内容为value- Returns:
- Map的列表
-
readAll
读取Excel为Bean的列表,读取所有行,默认第一行做为标题,数据从第二行开始- Type Parameters:
T- Bean类型- Parameters:
beanType- 每行对应Bean的类型- Returns:
- Map的列表
-
getExtractor
public org.apache.poi.ss.extractor.ExcelExtractor getExtractor(org.apache.poi.ss.usermodel.Workbook wb) 获取ExcelExtractor对象- Parameters:
wb- 工作薄- Returns:
ExcelExtractor
-
readAsText
读取为文本格式 使用ExcelExtractor提取Excel内容- Parameters:
wb-WorkbookwithSheetName- 是否附带sheet名- Returns:
- Excel文本
-
readRow
读取某一行数据- Parameters:
rowIndex- 行号,从0开始- Returns:
- 一行数据
-
readCellValue
读取某个单元格的值- Parameters:
x- X坐标,从0计数,既列号y- Y坐标,从0计数,既行号- Returns:
- 值, 如果单元格无值返回null
-
getWriter
获取Excel写出器 在读取Excel并做一定编辑后,获取写出器写出- Returns:
ExcelWriter
-