在单元格中添加公式
向单元格添加公式
向单元格添加公式就像我们在之前的主题中讨论的将单元格值设置为一样: 访问和修改单元格的值,只是在那种情况下,我们只是向单元格添加了简单的值。现在,我们将添加公式。开发人员可以使用单元格的Value属性来访问和修改公式,否则也可以使用单元格的 SetCellValue 方法向单元格添加或修改公式。
重要提示:使用单元格的Value属性或SetCellValue方法之间的基本差异在于,Value属性会自动调用Grid的RunAllFormulas方法来重新计算所有公式的值,而对于SetCellValue方法,开发人员需要在向单元格添加公式后显式调用RunAllFormulas方法。实际上,当使用SetCellValue方法向单元格添加公式时,此方法将单元格的值设置为FormulaType,并不计算公式。此外,每次都调用RunAllFormulas方法并非必要。如果要在工作表的单元格中添加多个公式,则可以在最后仅调用一次RunAllFormulas方法。
公式被添加到单元格作为字符串值。此外,公式结构必须与MS Excel的公式结构兼容。所有的公式都必须以等号(=)开头。
在下面的示例中,我们添加了一个公式,用于将工作表的两个单元格的值相乘,并将结果存储到另一个单元格中。最后还调用了RunAllFormulas方法。
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// Accessing first worksheet of the Grid | |
Worksheet sheet = gridDesktop1.Worksheets[0]; | |
// Adding numeric values to "B2" & "B3" cells | |
sheet.Cells["B2"].SetCellValue(3); | |
sheet.Cells["B3"].SetCellValue(4); | |
// Adding a formula to "B4" cell multiplying the values of "B2" & "B3" cells | |
sheet.Cells["B4"].SetCellValue("=B2 * B3"); | |
// Running all formulas in the Grid | |
gridDesktop1.RunAllFormulas(); |
现在运行应用程序。如果您双击添加了公式的单元格,则会注意到值将被计算值替换,该计算值实际上是在后端进行计算的公式。