| 程序包 | 说明 |
|---|---|
| com.gitee.qdbp.tools.excel | |
| com.gitee.qdbp.tools.excel.json | |
| com.gitee.qdbp.tools.excel.model | |
| com.gitee.qdbp.tools.excel.utils |
| 限定符和类型 | 方法和说明 |
|---|---|
<T extends XMetadata> |
XMetadata.to(Class<T> clazz)
将当前对象转换为子类对象
|
| 限定符和类型 | 方法和说明 |
|---|---|
void |
ImportCallback.finish(org.apache.poi.ss.usermodel.Workbook workbook,
XMetadata metadata)
收尾处理逻辑
|
void |
ExportCallback.finish(org.apache.poi.ss.usermodel.Workbook workbook,
XMetadata metadata)
收尾处理逻辑
|
void |
ImportCallback.init(org.apache.poi.ss.usermodel.Workbook workbook,
XMetadata metadata)
初始化处理逻辑
|
void |
ExportCallback.init(org.apache.poi.ss.usermodel.Workbook workbook,
XMetadata metadata)
初始化处理逻辑
|
boolean |
ImportCallback.onSheetFinished(org.apache.poi.ss.usermodel.Sheet sheet,
XMetadata metadata)
解析Sheet完成之后的处理逻辑, 返回false跳过后面的所有Sheet
|
boolean |
ExportCallback.onSheetFinished(org.apache.poi.ss.usermodel.Sheet sheet,
XMetadata metadata,
List<?> data)
导出Sheet完成之后的处理逻辑, 返回false跳过后面的所有Sheet
|
boolean |
ImportCallback.onSheetStart(org.apache.poi.ss.usermodel.Sheet sheet,
XMetadata metadata)
开始解析Sheet之前的处理逻辑, 返回false跳过该Sheet
|
boolean |
ExportCallback.onSheetStart(org.apache.poi.ss.usermodel.Sheet sheet,
XMetadata metadata,
List<?> data)
开始导出Sheet之前的处理逻辑, 返回false跳过该Sheet
|
| 构造器和说明 |
|---|
XExcelExporter(XMetadata metadata) |
XExcelParser(XMetadata metadata) |
| 限定符和类型 | 类和说明 |
|---|---|
class |
MergeMetadata
基础合并参数
|
class |
MergeToField
一对一合并, 将子数据所有字段合并至主数据, 如下示例的主数据会具有子数据的所有字段
|
class |
MergeToJson
如果指定了selfWith, 一对多合并, 将子数据以selfWith指定列的字段内容作为字段名合并至主数据
如果未指定selfWith而是指定了selfName, 一对一合并, 则将子数据列表以selfName指定的字段名合并至主数据 |
class |
MergeToList
一对多合并, 将子数据列表以fieldName指定的字段名合并至主数据
|
class |
ToJsonMetadata
数据转换参数
|
| 限定符和类型 | 方法和说明 |
|---|---|
<T extends XMetadata> |
MergeToList.to(Class<T> clazz)
将当前对象转换为子类对象
|
<T extends XMetadata> |
MergeToJson.to(Class<T> clazz)
将当前对象转换为子类对象
|
<T extends XMetadata> |
MergeMetadata.to(Class<T> clazz)
将当前对象转换为子类对象
|
| 限定符和类型 | 方法和说明 |
|---|---|
XMetadata |
RowInfo.getMetadata()
获取配置元数据
|
XMetadata |
CellInfo.getMetadata()
获取配置元数据
|
| 限定符和类型 | 方法和说明 |
|---|---|
void |
RowInfo.setMetadata(XMetadata metadata)
设置配置元数据
|
void |
CellInfo.setMetadata(XMetadata metadata)
设置配置元数据
|
| 限定符和类型 | 方法和说明 |
|---|---|
static XMetadata |
MetadataTools.parseProperties(Properties properties)
解析XMetadata
MetadataTools.parseProperties(PropertyTools.load(filePath)); ## SheetIndex从1开始, 行号从1开始, 列号从A开始 ## 字段对应关系, field.names/field.rows必填其一 ## 字段列表 # field.names = *id|*name|positive|height||birthday|gender|subsidy ## 字段行 field.rows = 5 ## 跳过的行数(不配置时默认取字段行或标题行的下一行) # skip.rows = 2 ## 标题行号,从1开始 header.rows = 2-4 ## 页脚行号,从1开始,只对导出生效 ## 导入时每个excel的页脚位置有可能不一样, 所以导入不能指定页脚行, 只能在导入之前把页脚删掉 ## 如果页脚有公式, 那么数据行必须至少2行, 公式的范围必须包含这两行数据, 如SUM($E$5:E6), 而不能是SUM($E$5:E5), 否则公式不会计算 footer.rows = 7-9 ## 包含指定关键字时跳过此行 ## A列为空, 或B列包含小计且H列包含元, 或B列包含总计且H列包含元 # skip.row.when.contains = { A:"NULL" }, { B:"小计", H:"元" }, { B:"总计", H:"元" } ## 加载哪些Sheet, sheet.index/sheet.name必填其一 ## 配置规则: * 表示全部 ## 配置规则: 1|2|5-8|12 ## 配置规则: ! |
| 限定符和类型 | 方法和说明 |
|---|---|
static void |
ExcelHelper.fill(List<?> list,
org.apache.poi.ss.usermodel.Sheet sheet,
XMetadata metadata,
SheetFillCallback cb) |
static void |
ExcelHelper.parse(org.apache.poi.ss.usermodel.Sheet sheet,
XMetadata metadata,
SheetParseCallback cb) |
Copyright © 2020. All rights reserved.