Aspose正式对旗下产品
Aspose.Cells for Android电子数据表格控件发布了新的8.8版本,在该版本中对产品增加了很多新的功能,并对以前的一些功能进行了增强和修复,
Aspose.Cells提供了强大的计算引擎,Microsoft Excel可以计算的几乎该产品都可以实现,然后在很多客户的应用中要求对Excel中很多默认的计算公式或者函数进行重载已达到更复杂的计算,列如,要得到=SUM(1,1)函数计算的3倍结果,使用
Aspose.Cells默认的计算引擎就无法完成。在
Aspose.Cells for Android 8.8版本发布以后,开发人员就可以对控件提供的默认计算引擎进行扩展,已达到自定义计算功能,下面的代码阐述的该新功能的使用方法:
public class CustomEngine extends AbstractCalculationEngine
{
public void calculate(CalculationData data)
{
if(data.getFunctionName().toUpperCase().equals("SUM")==true)
{
double val = (double)data.getCalculatedValue();
val = val + 30;
data.setCalculatedValue(val);
}
}
}
Workbook workbook = new Workbook();
Worksheet sheet = workbook.getWorksheets().get(0);
Cell a1 = sheet.getCells().get("A1");
a1.setFormula("=Sum(B1:B2)");
sheet.getCells().get("B1").putValue(10);
sheet.getCells().get("B2").putValue(10);
//Without overriding the SUM function, the value of cell A1 will be 20
workbook.calculateFormula();
System.out.println("Without Custom Engine Value of A1: " + a1.getStringValue());
//After overriding the SUM function, the value of cell A1 will be 50
CustomEngine engine = new CustomEngine();
CalculationOptions opts = new CalculationOptions();
opts.setCustomEngine(engine);
workbook.calculateFormula(opts);
System.out.println("With Custom Engine Value of A1: " + a1.getStringValue());