public class SheetDataWriter extends Object
Constructor and Description |
---|
SheetDataWriter(org.apache.poi.ss.usermodel.Sheet sheet,
ExcelWriteConfig config,
StyleSet styleSet)
构造
|
Modifier and Type | Method and Description |
---|---|
int |
getCurrentRow()
获得当前行
|
int |
passAndGet()
跳过当前行,并获取下一行的行号
|
int |
passRowsAndGet(int rowNum)
跳过指定行数,并获取当前行号
|
SheetDataWriter |
resetRow()
重置当前行为0
|
SheetDataWriter |
setCurrentRow(int rowIndex)
设置当前所在行
|
SheetDataWriter |
setHeaderLocationCache(Map<String,Integer> headerLocationCache)
设置标题位置映射缓存
|
SheetDataWriter |
setStyleSet(StyleSet styleSet)
设置样式表
|
SheetDataWriter |
writeHeader(int x,
int y,
int rowCount,
RowGroup rowGroup)
写出分组标题行
|
SheetDataWriter |
writeHeaderRow(Iterable<?> rowData)
写出一行标题数据,标题数据不替换别名
本方法只是将数据写入Workbook中的Sheet,并不写出到文件 写出的起始行为当前行号,可使用 getCurrentRow() 方法调用,根据写出的的行数,当前行号自动+1 |
SheetDataWriter |
writeRow(Iterable<?> rowData)
|
SheetDataWriter |
writeRow(Map<?,?> rowMap,
boolean isWriteKeyAsHead)
将一个Map写入到Excel,isWriteKeyAsHead为true写出两行,Map的keys做为一行,values做为第二行,否则只写出一行values
如果rowMap为空(包括null),则写出空行 |
SheetDataWriter |
writeRow(Object rowBean,
boolean isWriteKeyAsHead)
写出一行,根据rowBean数据类型不同,写出情况如下:
1、如果为Iterable,直接写出一行
2、如果为Map,isWriteKeyAsHead为true写出两行,Map的keys做为一行,values做为第二行,否则只写出一行values
3、如果为Bean,转为Map写出,isWriteKeyAsHead为true写出两行,Map的keys做为一行,values做为第二行,否则只写出一行values
|
public SheetDataWriter(org.apache.poi.ss.usermodel.Sheet sheet, ExcelWriteConfig config, StyleSet styleSet)
sheet
- Sheet
config
- Excel配置styleSet
- 样式表public SheetDataWriter setStyleSet(StyleSet styleSet)
styleSet
- 样式表public SheetDataWriter setHeaderLocationCache(Map<String,Integer> headerLocationCache)
headerLocationCache
- 标题位置映射缓存,key为表明名,value为列号public SheetDataWriter writeHeader(int x, int y, int rowCount, RowGroup rowGroup)
x
- 开始的列,下标从0开始y
- 开始的行,下标从0开始rowCount
- 当前分组行所占行数,此数值为标题占用行数+子分组占用的最大行数,不确定传1rowGroup
- 分组行public SheetDataWriter writeRow(Object rowBean, boolean isWriteKeyAsHead)
1、如果为Iterable,直接写出一行 2、如果为Map,isWriteKeyAsHead为true写出两行,Map的keys做为一行,values做为第二行,否则只写出一行values 3、如果为Bean,转为Map写出,isWriteKeyAsHead为true写出两行,Map的keys做为一行,values做为第二行,否则只写出一行values
rowBean
- 写出的BeanisWriteKeyAsHead
- 为true写出两行,Map的keys做为一行,values做为第二行,否则只写出一行valueswriteRow(Iterable)
,
writeRow(Map, boolean)
public SheetDataWriter writeRow(Map<?,?> rowMap, boolean isWriteKeyAsHead)
rowMap
- 写出的Map,为空(包括null),则写出空行isWriteKeyAsHead
- 为true写出两行,Map的keys做为一行,values做为第二行,否则只写出一行valuespublic SheetDataWriter writeHeaderRow(Iterable<?> rowData)
getCurrentRow()
方法调用,根据写出的的行数,当前行号自动+1rowData
- 一行的数据public SheetDataWriter writeRow(Iterable<?> rowData)
rowData
- 一行的数据public int getCurrentRow()
public SheetDataWriter setCurrentRow(int rowIndex)
rowIndex
- 行号public int passAndGet()
public int passRowsAndGet(int rowNum)
rowNum
- 跳过的行数public SheetDataWriter resetRow()
Copyright © 2025. All rights reserved.