Package | Description |
---|---|
cn.hutool.poi.excel |
POI中对Excel读写的封装,入口为ExcelUtil
|
Modifier and Type | Class and Description |
---|---|
class |
BigExcelWriter
大数据量Excel写出
|
Modifier and Type | Method and Description |
---|---|
ExcelWriter |
ExcelWriter.addHeaderAlias(String name,
String alias)
增加标题别名
|
ExcelWriter |
ExcelWriter.addSelect(org.apache.poi.ss.util.CellRangeAddressList regions,
String... selectList)
增加下拉列表
|
ExcelWriter |
ExcelWriter.addSelect(int x,
int y,
String... selectList)
增加下拉列表
|
ExcelWriter |
ExcelWriter.addValidationData(org.apache.poi.ss.usermodel.DataValidation dataValidation)
增加单元格控制,比如下拉列表、日期验证、数字范围验证等
|
ExcelWriter |
ExcelWriter.autoSizeColumn(int columnIndex)
设置某列为自动宽度,不考虑合并单元格
此方法必须在指定列数据完全写出后调用才有效。 |
ExcelWriter |
ExcelWriter.autoSizeColumn(int columnIndex,
boolean useMergedCells)
设置某列为自动宽度
此方法必须在指定列数据完全写出后调用才有效。 |
ExcelWriter |
ExcelWriter.autoSizeColumnAll()
设置所有列为自动宽度,不考虑合并单元格
此方法必须在指定列数据完全写出后调用才有效。 列数计算是通过第一行计算的 |
ExcelWriter |
ExcelWriter.clearHeaderAlias()
清空标题别名,key为Map中的key,value为别名
|
ExcelWriter |
ExcelWriter.disableDefaultStyle()
禁用默认样式
|
ExcelWriter |
ExcelWriter.flush()
将Excel Workbook刷出到预定义的文件
如果用户未自定义输出的文件,将抛出 NullPointerException 预定义文件可以通过 setDestFile(File) 方法预定义,或者通过构造定义 |
ExcelWriter |
ExcelWriter.flush(File destFile)
将Excel Workbook刷出到文件
如果用户未自定义输出的文件,将抛出 NullPointerException |
ExcelWriter |
ExcelWriter.flush(OutputStream out)
将Excel Workbook刷出到输出流
|
ExcelWriter |
ExcelWriter.flush(OutputStream out,
boolean isCloseOut)
将Excel Workbook刷出到输出流
|
ExcelWriter |
BigExcelWriter.flush(OutputStream out,
boolean isCloseOut) |
static ExcelWriter |
ExcelUtil.getBigWriter()
获得
BigExcelWriter ,默认写出到第一个sheet不传入写出的Excel文件路径,只能调用ExcelWriter#flush(OutputStream)方法写出到流 若写出到文件,还需调用 setDestFile(File) 方法自定义写出的文件,然后调用flush() 方法写出到文件 |
static ExcelWriter |
ExcelUtil.getBigWriter(int rowAccessWindowSize)
获得
BigExcelWriter ,默认写出到第一个sheet不传入写出的Excel文件路径,只能调用ExcelWriter#flush(OutputStream)方法写出到流 若写出到文件,还需调用 setDestFile(File) 方法自定义写出的文件,然后调用flush() 方法写出到文件 |
ExcelWriter |
ExcelReader.getWriter()
获取Excel写出器
在读取Excel并做一定编辑后,获取写出器写出 |
static ExcelWriter |
ExcelUtil.getWriter()
获得
ExcelWriter ,默认写出到第一个sheet不传入写出的Excel文件路径,只能调用ExcelWriter#flush(OutputStream)方法写出到流 若写出到文件,还需调用 setDestFile(File) 方法自定义写出的文件,然后调用flush() 方法写出到文件 |
static ExcelWriter |
ExcelUtil.getWriter(boolean isXlsx)
获得
ExcelWriter ,默认写出到第一个sheet不传入写出的Excel文件路径,只能调用ExcelWriter#flush(OutputStream)方法写出到流 若写出到文件,还需调用 setDestFile(File) 方法自定义写出的文件,然后调用flush() 方法写出到文件 |
static ExcelWriter |
ExcelUtil.getWriter(File destFile)
获得
ExcelWriter ,默认写出到第一个sheet,名字为sheet1 |
static ExcelWriter |
ExcelUtil.getWriter(File destFile,
String sheetName)
|
static ExcelWriter |
ExcelUtil.getWriter(String destFilePath)
获得
ExcelWriter ,默认写出到第一个sheet |
static ExcelWriter |
ExcelUtil.getWriter(String destFilePath,
String sheetName)
|
static ExcelWriter |
ExcelUtil.getWriterWithSheet(String sheetName)
获得
ExcelWriter ,默认写出到第一个sheet |
ExcelWriter |
ExcelWriter.merge(int lastColumn)
合并当前行的单元格
样式为默认标题样式,可使用 getHeadCellStyle() 方法调用后自定义默认样式 |
ExcelWriter |
ExcelWriter.merge(int firstRow,
int lastRow,
int firstColumn,
int lastColumn,
Object content,
boolean isSetHeaderStyle)
|
ExcelWriter |
ExcelWriter.merge(int lastColumn,
Object content)
|
ExcelWriter |
ExcelWriter.merge(int lastColumn,
Object content,
boolean isSetHeaderStyle)
|
ExcelWriter |
ExcelWriter.passCurrentRow()
跳过当前行
|
ExcelWriter |
ExcelWriter.passRows(int rows)
跳过指定行数
|
ExcelWriter |
ExcelWriter.renameSheet(int sheet,
String sheetName)
重命名sheet
|
ExcelWriter |
ExcelWriter.renameSheet(String sheetName)
重命名当前sheet
|
ExcelWriter |
ExcelWriter.reset()
重置Writer,包括:
|
ExcelWriter |
ExcelWriter.resetRow()
重置当前行为0
|
ExcelWriter |
ExcelWriter.setColumnWidth(int columnIndex,
int width)
设置列宽(单位为一个字符的宽度,例如传入width为10,表示10个字符的宽度)
|
ExcelWriter |
ExcelWriter.setCurrentRow(int rowIndex)
设置当前所在行
|
ExcelWriter |
ExcelWriter.setCurrentRowToEnd()
定位到最后一行的后边,用于追加数据
|
ExcelWriter |
ExcelWriter.setDefaultRowHeight(int height)
设置默认行高,值为一个点的高度
|
ExcelWriter |
ExcelWriter.setDestFile(File destFile)
设置写出的目标文件
|
ExcelWriter |
ExcelWriter.setFreezePane(int rowSplit)
设置窗口冻结,之前冻结的窗口会被覆盖,如果rowSplit为0表示取消冻结
|
ExcelWriter |
ExcelWriter.setFreezePane(int colSplit,
int rowSplit)
设置窗口冻结,之前冻结的窗口会被覆盖,如果colSplit和rowSplit为0表示取消冻结
|
ExcelWriter |
ExcelWriter.setHeaderAlias(Map<String,String> headerAlias)
设置标题别名,key为Map中的key,value为别名
|
ExcelWriter |
ExcelWriter.setHeaderOrFooter(String text,
Align align,
boolean isFooter)
设置Excel页眉或页脚
|
ExcelWriter |
ExcelWriter.setOnlyAlias(boolean isOnlyAlias)
设置是否只保留别名中的字段值,如果为true,则不设置alias的字段将不被输出,false表示原样输出
|
ExcelWriter |
ExcelWriter.setRowHeight(int rownum,
int height)
设置行高,值为一个点的高度
|
ExcelWriter |
ExcelWriter.setRowStyle(int y,
org.apache.poi.ss.usermodel.CellStyle style)
设置行样式
|
ExcelWriter |
ExcelWriter.setSheet(int sheetIndex) |
ExcelWriter |
ExcelWriter.setSheet(String sheetName) |
ExcelWriter |
ExcelWriter.setStyle(org.apache.poi.ss.usermodel.CellStyle style,
int x,
int y)
|
ExcelWriter |
ExcelWriter.setStyle(org.apache.poi.ss.usermodel.CellStyle style,
String locationRef)
|
ExcelWriter |
ExcelWriter.setStyleSet(StyleSet styleSet)
设置样式集,如果不使用样式,传入
null |
ExcelWriter |
ExcelWriter.write(Iterable<?> data)
写出数据,本方法只是将数据写入Workbook中的Sheet,并不写出到文件
写出的起始行为当前行号,可使用 getCurrentRow() 方法调用,根据写出的的行数,当前行号自动增加样式为默认样式,可使用 getCellStyle() 方法调用后自定义默认样式默认的,当当前行号为0时,写出标题(如果为Map或Bean),否则不写标题 |
ExcelWriter |
ExcelWriter.write(Iterable<?> data,
boolean isWriteKeyAsHead)
写出数据,本方法只是将数据写入Workbook中的Sheet,并不写出到文件
写出的起始行为当前行号,可使用 getCurrentRow() 方法调用,根据写出的的行数,当前行号自动增加样式为默认样式,可使用 getCellStyle() 方法调用后自定义默认样式 |
ExcelWriter |
ExcelWriter.write(Iterable<?> data,
Comparator<String> comparator)
写出数据,本方法只是将数据写入Workbook中的Sheet,并不写出到文件
写出的起始行为当前行号,可使用 getCurrentRow() 方法调用,根据写出的的行数,当前行号自动增加样式为默认样式,可使用 getCellStyle() 方法调用后自定义默认样式data中元素支持的类型有: |
ExcelWriter |
ExcelWriter.writeCellValue(int x,
int y,
Object value)
给指定单元格赋值,使用默认单元格样式
|
ExcelWriter |
ExcelWriter.writeCellValue(String locationRef,
Object value)
给指定单元格赋值,使用默认单元格样式
|
ExcelWriter |
ExcelWriter.writeHeadRow(Iterable<?> rowData)
写出一行标题数据
本方法只是将数据写入Workbook中的Sheet,并不写出到文件 写出的起始行为当前行号,可使用 getCurrentRow() 方法调用,根据写出的的行数,当前行号自动+1样式为默认标题样式,可使用 getHeadCellStyle() 方法调用后自定义默认样式 |
ExcelWriter |
ExcelWriter.writeRow(Iterable<?> rowData)
写出一行数据
本方法只是将数据写入Workbook中的Sheet,并不写出到文件 写出的起始行为当前行号,可使用 getCurrentRow() 方法调用,根据写出的的行数,当前行号自动+1样式为默认样式,可使用 getCellStyle() 方法调用后自定义默认样式 |
ExcelWriter |
ExcelWriter.writeRow(Map<?,?> rowMap,
boolean isWriteKeyAsHead)
将一个Map写入到Excel,isWriteKeyAsHead为true写出两行,Map的keys做为一行,values做为第二行,否则只写出一行values
如果rowMap为空(包括null),则写出空行 |
ExcelWriter |
ExcelWriter.writeRow(Object rowBean,
boolean isWriteKeyAsHead)
写出一行,根据rowBean数据类型不同,写出情况如下:
|
Copyright © 2021. All rights reserved.