Skip to content

38680050/excel-formula-calculation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

excel-formula-calculation

Java 1.8 仿 Excel 公式计算,目前有单行公式计算,单页签公式计算和多页签公式计算

开源代码许可

MIT开源代码许可证

使用说明

一、创建计算配置

通过 ExcelCalculateConfig.javaExcelCalculateConfig(Class<?> clazz, Class<? extends IFunction> functionImplClass)ExcelCalculateConfig(Class<?> clazz) 构造器 new 出对象,clazz 参数是将要计算对象的类,而 functionImplClass 参数是实现函数的类,如果不传functionImplClass参数,则默认使用 DefaultFunctionImpl 来实现函数计算。

二、创建计算器并计算

目前有三种计算器,工作簿计算器 BookCalculate工作表计算器 SheetCalculate单行计算器 RowCalculate, 分别针对多页签、单页签、单行数据进行计算。

使用时新建构造器,excelList 参数为将要计算的数据的集合,excelCalculateConfig 参数为第一步创建出的计算配置;

再使用calculate(String formula)函数进行公式计算,参数为将要计算的公式,公式的格式与Excel公式的格式一致, 可连续使用此函数就算,第二次的公式计算将依赖第一次公式计算的结果,以此类推,如果需要立马获取结果,可使用此函数的返回值;

如果需要将结果收敛至原计算数据的集合的对象中,可使用integrationResult()函数,这样就可以从原计算数据中获取数据。

三、自定义公式

IFunction 是Excel函数定义的接口,DefaultFunctionImpl 是默认的Excel函数实现类,目前里面自定义的函数较少,如需自定义Excel函数, 也可以新建类继承 IFunction,实现需要的参数后在第一步创建 ExcelCalculateConfig.java 构造器时添加到第二个参数内。

Excel公式计算实现

下面所有东西都可以在 src/test/java 文件夹中找到,并有excel公式计算.xlsx辅助验算

单行公式计算

可在 ExcelFormulaCalculationTests.java 37、57行找到对应案例

单页签公式计算

可在 ExcelFormulaCalculationTests.java 77、99行找到对应案例

多页签公式计算

可在 ExcelFormulaCalculationTests.java 121、138行找到对应案例

Releases

No releases published

Packages

No packages published

Languages