Настройка общей формулы

Настройка общей формулы с использованием Aspose.Cells

Предположим, у вас есть рабочий лист, заполненный данными в формате, похожем на следующий пример рабочего листа.

Входной файл с одним столбцом или данными
дело:изображение_альтернативный_текст

Вы хотите добавить в B2 функцию, которая будет вычислять налог с продаж для первой строки данных. Налог9% Формула, по которой рассчитывается налог с продаж, выглядит следующим образом:"=А2*0,09". В этой статье объясняется, как применить эту формулу к номеру Aspose.Cells.

Aspose.Cells позволяет указать формулу с помощьюCell.Formulaимущество. Есть два варианта добавления формул в другие ячейки (B3, B4, B5 и т. д.) в столбце.

Либо сделайте то, что вы сделали для первой ячейки, фактически установив формулу для каждой ячейки, соответственно обновив ссылку на ячейку (A30,09, А40,09, A5*0,09 и так далее). Это требует обновления ссылок на ячейки для каждой строки. Также требуется Aspose.Cells для анализа каждой формулы по отдельности, что может занять много времени для больших электронных таблиц и сложных формул. Он также добавляет дополнительные строки кода, хотя циклы могут несколько их сократить.

Другой подход заключается в использованииобщая формула При использовании общей формулы формулы автоматически обновляются для ссылок на ячейки в каждой строке, чтобы налог был рассчитан правильно.Cell.SetSharedFormulaметод более эффективен, чем первый метод.

В следующем примере показано, как его использовать.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
// Instantiate a Workbook from existing file
Workbook workbook = new Workbook(dataDir + "source.xlsx");
// Get the cells collection in the first worksheet
Cells cells = workbook.Worksheets[0].Cells;
// Apply the shared formula in the range i.e.., B2:B14
cells["B2"].SetSharedFormula("=A2*0.09", 13, 1);
// Save the excel file
workbook.Save(dataDir + "Output_out.xlsx", SaveFormat.Xlsx);