Class ExcelReader
java.lang.Object
org.miaixz.bus.office.excel.ExcelBase<ExcelReader,ExcelReadConfig>
org.miaixz.bus.office.excel.reader.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.ExcelExtractor获取ExcelExtractor对象获取Excel写出器 在读取Excel并做一定编辑后,获取写出器写出,规则如下: 1.read()读取工作簿中指定的Sheet的所有行列数据read(int startRowIndex) 读取工作簿中指定的Sheetread(int startRowIndex, int endRowIndex) 读取工作簿中指定的Sheet,此方法会把第一行作为标题行,替换标题别名read(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.miaixz.bus.core.center.function.BiConsumerX<org.apache.poi.ss.usermodel.Cell, Object> cellHandler) 读取工作簿中指定的Sheet,此方法为类流处理方式,当读到指定单元格时,会调用CellEditor接口 用户通过实现此接口,可以更加灵活地处理每个单元格的数据。voidread(org.miaixz.bus.core.center.function.BiConsumerX<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(boolean withSheetName) 读取为文本格式 使用ExcelExtractor提取Excel内容readCellValue(int x, int y) 读取某个单元格的值readColumn(int columnIndex, int startRowIndex) 读取工作簿中指定的Sheet中指定列readColumn(int columnIndex, int startRowIndex, int endRowIndex) 读取工作簿中指定的Sheet中指定列readRow(int rowIndex) 读取某一行数据Methods inherited from class org.miaixz.bus.office.excel.ExcelBase
checkClosed, cloneSheet, close, createCellStyle, createCellStyle, createCellStyle, createColumnStyle, createFont, createHyperlink, createHyperlink, createRowStyle, getCell, getCell, getCell, getCell, getColumnCount, getColumnCount, getConfig, getContentType, getOrCreateCell, getOrCreateCell, getOrCreateCellStyle, getOrCreateCellStyle, getOrCreateColumnStyle, getOrCreateRow, getOrCreateRowStyle, getPhysicalRowCount, getRowCount, getSheet, getSheetCount, getSheetNames, getSheets, getWorkbook, isXlsx, renameSheet, setConfig, setSheet, setSheet, setSheet
-
Constructor Details
-
ExcelReader
构造- Parameters:
excelFilePath- Excel文件路径,绝对路径或相对于ClassPath路径sheetIndex- sheet序号,0表示第一个sheet
-
ExcelReader
构造- Parameters:
excelFilePath- Excel文件路径,绝对路径或相对于ClassPath路径sheetName- sheet名,第一个默认是sheet1
-
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
public ExcelReader(org.apache.poi.ss.usermodel.Sheet sheet) 构造- Parameters:
sheet- Excel中的sheet
-
-
Method Details
-
read
读取工作簿中指定的Sheet的所有行列数据- Returns:
- 行的集合,一行使用List表示
-
read
读取工作簿中指定的Sheet- Parameters:
startRowIndex- 起始行(包含,从0开始计数)- Returns:
- 行的集合,一行使用List表示
-
read
读取工作簿中指定的Sheet,此方法会把第一行作为标题行,替换标题别名- Parameters:
startRowIndex- 起始行(包含,从0开始计数)endRowIndex- 结束行(包含,从0开始计数)- Returns:
- 行的集合,一行使用List表示
-
read
读取工作簿中指定的Sheet- Parameters:
startRowIndex- 起始行(包含,从0开始计数)endRowIndex- 结束行(包含,从0开始计数)aliasFirstLine- 是否首行作为标题行转换别名- Returns:
- 行的集合,一行使用List表示
-
readColumn
读取工作簿中指定的Sheet中指定列- Parameters:
columnIndex- 列号,从0开始计数startRowIndex- 起始行(包含,从0开始计数)- Returns:
- 列的集合
-
readColumn
读取工作簿中指定的Sheet中指定列- Parameters:
columnIndex- 列号,从0开始计数startRowIndex- 起始行(包含,从0开始计数)endRowIndex- 结束行(包含,从0开始计数)- Returns:
- 列的集合
-
read
public void read(org.miaixz.bus.core.center.function.BiConsumerX<org.apache.poi.ss.usermodel.Cell, Object> cellHandler) 读取工作簿中指定的Sheet,此方法为类流处理方式,当读到指定单元格时,会调用CellEditor接口 用户通过实现此接口,可以更加灵活地处理每个单元格的数据。- Parameters:
cellHandler- 单元格处理器,用于处理读到的单元格及其数据
-
read
public void read(int startRowIndex, int endRowIndex, org.miaixz.bus.core.center.function.BiConsumerX<org.apache.poi.ss.usermodel.Cell, Object> cellHandler) 读取工作簿中指定的Sheet,此方法为类流处理方式,当读到指定单元格时,会调用CellEditor接口 用户通过实现此接口,可以更加灵活地处理每个单元格的数据。- Parameters:
startRowIndex- 起始行(包含,从0开始计数)endRowIndex- 结束行(包含,从0开始计数)cellHandler- 单元格处理器,用于处理读到的单元格及其数据
-
readAll
读取Excel为Map的列表,读取所有行,默认第一行做为标题,数据从第二行开始 Map表示一行,标题为key,单元格内容为value- Returns:
- Map的列表
-
read
读取Excel为Map的列表 Map表示一行,标题为key,单元格内容为value- Parameters:
headerRowIndex- 标题所在行,如果标题行在读取的内容行中间,这行做为数据将忽略startRowIndex- 起始行(包含,从0开始计数)endRowIndex- 读取结束行(包含,从0开始计数)- Returns:
- Map的列表
-
readAll
读取Excel为Bean的列表,读取所有行,默认第一行做为标题,数据从第二行开始- Type Parameters:
T- Bean类型- Parameters:
beanType- 每行对应Bean的类型- 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的列表
-
read
读取数据为指定类型- Type Parameters:
T- 读取数据类型- Parameters:
sheetReader-SheetReader实现- Returns:
- 数据读取结果
-
readAsText
读取为文本格式 使用ExcelExtractor提取Excel内容- Parameters:
withSheetName- 是否附带sheet名- Returns:
- Excel文本
-
getExtractor
public org.apache.poi.ss.extractor.ExcelExtractor getExtractor()获取ExcelExtractor对象- Returns:
ExcelExtractor
-
readRow
读取某一行数据- Parameters:
rowIndex- 行号,从0开始- Returns:
- 一行数据
-
readCellValue
读取某个单元格的值- Parameters:
x- X坐标,从0计数,即列号y- Y坐标,从0计数,即行号- Returns:
- 值,如果单元格无值返回null
-
getWriter
获取Excel写出器 在读取Excel并做一定编辑后,获取写出器写出,规则如下:- 1. 当从流中读取时,转换为Writer直接使用Sheet对象,此时修改不会影响源文件,Writer中flush需要指定新的路径。
- 2. 当从文件读取时,直接获取文件及sheet名称,此时可以修改原文件。
- Returns:
ExcelWriter
-