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行找到对应案例

About

Imitate excel formula calculation

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages