计算公式的方式
介绍
Aspose.Cells内置有公式计算引擎。 它不仅可以重新计算从设计模板导入的公式,还支持计算运行时添加的公式的结果。
添加公式及计算结果
Aspose.Cells支持大部分Microsoft Excel中的公式或函数。它们可以通过API或设计者电子表格使用。Aspose.Cells支持大量的数学、字符串、布尔、日期/时间、统计、查找和引用公式。
使用Cell.SetFormula方法向单元格添加公式。当将公式应用于单元格时,始终以等号(=)开头,就像在Microsoft Excel中创建公式时一样。使用逗号(,)来分隔函数参数。
要计算公式的结果,请调用Workbook.CalculateFormula()方法,该方法可以处理Excel文件中嵌入的所有公式。请参阅下面的示例代码,添加公式并计算其结果。请检查使用此代码生成的输出excel文件。
示例代码
workbook, _ := NewWorkbook() | |
worksheets, _ := workbook.GetWorksheets() | |
worksheet, _ := worksheets.Get_Int(0) | |
cells, _ := worksheet.GetCells() | |
cell, _ := cells.Get_String("A1") | |
cell.PutValue_Int(10) | |
cell, _ = cells.Get_String("A2") | |
cell.PutValue_Int(20) | |
cell, _ = cells.Get_String("A3") | |
cell.PutValue_Int(70) | |
cell, _ = cells.Get_String("A4") | |
cell.SetFormula_String("=SUM(A1:A3)") | |
workbook.Save_String("outputAddingFormulasAndCalculatingResults.xlsx") |
仅计算一次公式
当调用Workbook.CalculateFormula()来计算工作簿模板中公式的值时,Aspose.Cells会创建一个计算链。当第二或第三次计算公式时,会提高性能。
但是,如果模板包含大量公式,第一次计算公式可能会消耗大量CPU处理时间和内存。
Aspose.Cells允许您关闭创建计算链,这在您只想计算公式一次时很有用。
请调用Workbook.GetISettings().SetCreateCalcChain(),参数为false。您可以使用提供的excel文件测试此代码。
示例代码
workbook, _ := NewWorkbook_String("sampleCalculatingFormulasOnceOnly.xlsx") | |
settings, _ := workbook.GetSettings() | |
formulaSetting, _ := settings.GetFormulaSettings() | |
formulaSetting.SetForceFullCalculation(true) | |
workbook.CalculateFormula() |