Добавление формулы в ячейку
Добавление формулы в ячейку
Добавление формулы в ячейку подобно установке значения ячейки, о котором мы уже говорили в предыдущей теме: Доступ и изменение значения ячейки, за исключением того, что в этом случае мы добавляем простые значения в ячейки. Теперь мы будем добавлять формулы. Разработчики могут использовать свойство Value ячейки для доступа и изменения формулы, или же метод SetCellValue ячейки также может быть использован для добавления или изменения формулы в ячейке.
ВАЖНО: Основное различие между использованием свойства Value или метода SetCellValue ячейки заключается в том, что свойство Value автоматически вызывает метод RunAllFormulas Grid для пересчета значений всех формул, в то время как в случае метода 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(); |
Теперь запустите приложение. Если вы дважды щелкните на ячейке, куда была добавлена формула, то вы заметите, что значение будет заменено формулой, которая фактически вычисляет значение на заднем плане.