Class SheetDataWriter
java.lang.Object
org.miaixz.bus.office.excel.writer.SheetDataWriter
Sheet数据写出器 此对象只封装将数据写出到Sheet中,并不刷新到文件
- Since:
- Java 17+
- Author:
- Kimi Liu
-
Constructor Summary
ConstructorsConstructorDescriptionSheetDataWriter(org.apache.poi.ss.usermodel.Sheet sheet, ExcelWriteConfig config, StyleSet styleSet) 构造 -
Method Summary
Modifier and TypeMethodDescriptionint获得当前行int跳过当前行,并获取下一行的行号intpassRowsAndGet(int rowNum) 跳过指定行数,并获取当前行号resetRow()重置当前行为0setCurrentRow(int rowIndex) 设置当前所在行setHeaderLocationCache(Map<String, Integer> headerLocationCache) 设置标题位置映射缓存setStyleSet(StyleSet styleSet) 设置样式表writeHeader(int x, int y, int rowCount, RowGroup rowGroup) 写出分组标题行writeHeaderRow(Iterable<?> rowData) 写出一行标题数据,标题数据不替换别名 本方法只是将数据写入Workbook中的Sheet,并不写出到文件 写出的起始行为当前行号,可使用getCurrentRow()方法调用,根据写出的的行数,当前行号自动+1写出一行数据 本方法只是将数据写入Workbook中的Sheet,并不写出到文件 写出的起始行为当前行号,可使用getCurrentRow()方法调用,根据写出的的行数,当前行号自动+1写出一行,根据rowBean数据类型不同,写出情况如下:将一个Map写入到Excel,isWriteKeyAsHead为true写出两行,Map的keys做为一行,values做为第二行,否则只写出一行values 如果rowMap为空(包括null),则写出空行
-
Constructor Details
-
SheetDataWriter
public SheetDataWriter(org.apache.poi.ss.usermodel.Sheet sheet, ExcelWriteConfig config, StyleSet styleSet) 构造- Parameters:
sheet-Sheetconfig- Excel配置styleSet- 样式表
-
-
Method Details
-
setStyleSet
设置样式表- Parameters:
styleSet- 样式表- Returns:
- this
-
setHeaderLocationCache
设置标题位置映射缓存- Parameters:
headerLocationCache- 标题位置映射缓存,key为表明名,value为列号- Returns:
- this
-
writeHeader
写出分组标题行- Parameters:
x- 开始的列,下标从0开始y- 开始的行,下标从0开始rowCount- 当前分组行所占行数,此数值为标题占用行数+子分组占用的最大行数,不确定传1rowGroup- 分组行- Returns:
- this
-
writeRow
写出一行,根据rowBean数据类型不同,写出情况如下:1、如果为Iterable,直接写出一行 2、如果为Map,isWriteKeyAsHead为true写出两行,Map的keys做为一行,values做为第二行,否则只写出一行values 3、如果为Bean,转为Map写出,isWriteKeyAsHead为true写出两行,Map的keys做为一行,values做为第二行,否则只写出一行values
- Parameters:
rowBean- 写出的BeanisWriteKeyAsHead- 为true写出两行,Map的keys做为一行,values做为第二行,否则只写出一行values- Returns:
- this
- See Also:
-
writeRow
将一个Map写入到Excel,isWriteKeyAsHead为true写出两行,Map的keys做为一行,values做为第二行,否则只写出一行values 如果rowMap为空(包括null),则写出空行- Parameters:
rowMap- 写出的Map,为空(包括null),则写出空行isWriteKeyAsHead- 为true写出两行,Map的keys做为一行,values做为第二行,否则只写出一行values- Returns:
- this
-
writeHeaderRow
写出一行标题数据,标题数据不替换别名 本方法只是将数据写入Workbook中的Sheet,并不写出到文件 写出的起始行为当前行号,可使用getCurrentRow()方法调用,根据写出的的行数,当前行号自动+1- Parameters:
rowData- 一行的数据- Returns:
- this
-
writeRow
写出一行数据 本方法只是将数据写入Workbook中的Sheet,并不写出到文件 写出的起始行为当前行号,可使用getCurrentRow()方法调用,根据写出的的行数,当前行号自动+1- Parameters:
rowData- 一行的数据- Returns:
- this
-
getCurrentRow
public int getCurrentRow()获得当前行- Returns:
- 当前行
-
setCurrentRow
设置当前所在行- Parameters:
rowIndex- 行号- Returns:
- this
-
passAndGet
public int passAndGet()跳过当前行,并获取下一行的行号- Returns:
- this
-
passRowsAndGet
public int passRowsAndGet(int rowNum) 跳过指定行数,并获取当前行号- Parameters:
rowNum- 跳过的行数- Returns:
- this
-
resetRow
重置当前行为0- Returns:
- this
-