VintaSoft Imaging .NET SDK 15.1: Документация для .NET разработчика
В этом разделе
XLSX: Работа с формулами на странице XLSX
В этом разделе
UI-контролы SpreadsheetEditorControl и WpfSpreadsheetEditorControl позволяют работать (просмотривать, добавлять, редактировать и удалять) с формулами в ячейках рабочего листа XLSX в настольном приложении (WinForms, WPF).
Формулы можно изменять визуально с помощью мыши/клавиатуры или программно.


Добавление формулы в выделенную ячейку рабочего листа XLSX

Вот C#/VB.NET код, который демонстрирует, как добавить формулу в выделенную ячейку рабочего листа XLSX:
public void AddFormulaToXlsxCell(Vintasoft.Imaging.Office.Spreadsheet.UI.SpreadsheetEditorControl editorControl)
{
    // get visual editor for spreadsheet document
    Vintasoft.Imaging.Office.Spreadsheet.UI.SpreadsheetVisualEditor spreadsheetVisualEditor = editorControl.VisualEditor;

    string formula = "ABS(A1)+SUM(B2,B3)";

    // add formula to the focused cell
    spreadsheetVisualEditor.InsertFormulaInFocusedCell(formula);
    // result formula value: "=ABS(A1)+SUM(B2,B3)"
}
Public Sub AddFormulaToXlsxCell(editorControl As Vintasoft.Imaging.Office.Spreadsheet.UI.SpreadsheetEditorControl)
    ' get visual editor for spreadsheet document
    Dim spreadsheetVisualEditor As Vintasoft.Imaging.Office.Spreadsheet.UI.SpreadsheetVisualEditor = editorControl.VisualEditor

    Dim formula As String = "ABS(A1)+SUM(B2,B3)"

    ' add formula to the focused cell
    spreadsheetVisualEditor.InsertFormulaInFocusedCell(formula)
    ' result formula value: "=ABS(A1)+SUM(B2,B3)"
End Sub


Изменение формулы выделенной ячейки программно

Вот C#/VB.NET код, который демонстрирует, как изменить формулу выделенной ячейки рабочего листа XLSX:
public void ChangeValueOfXlsxCell(Vintasoft.Imaging.Office.Spreadsheet.UI.SpreadsheetEditorControl editorControl)
{
    // get visual editor for spreadsheet document
    Vintasoft.Imaging.Office.Spreadsheet.UI.SpreadsheetVisualEditor spreadsheetVisualEditor = editorControl.VisualEditor;

    // get value or formula of focused cell
    string cellValue = spreadsheetVisualEditor.FocusedCellValue;

    // set value or formula of focused cell
    spreadsheetVisualEditor.FocusedCellValue = "0";
}
Public Sub ChangeValueOfXlsxCell(editorControl As Vintasoft.Imaging.Office.Spreadsheet.UI.SpreadsheetEditorControl)
    ' get visual editor for spreadsheet document
    Dim spreadsheetVisualEditor As Vintasoft.Imaging.Office.Spreadsheet.UI.SpreadsheetVisualEditor = editorControl.VisualEditor

    ' get value or formula of focused cell
    Dim cellValue As String = spreadsheetVisualEditor.FocusedCellValue

    ' set value or formula of focused cell
    spreadsheetVisualEditor.FocusedCellValue = "0"
End Sub


Редактирование формулы сфокусированной ячейки с помощью мыши и клавиатуры

Вы можете редактировать формулу сфокусированной ячейки, используя текстовое поле на панели формул (внешний редактор) или используя текстовое поле в области ячейки (внутренний редактор).

Если вы хотите создать формулу, ссылающуюся на другую ячейку, вам следует выполнить следующие шаги:
Если вы хотите создать формулу, которая использует значений из нескольких ячеек, необходимо выполнить следующие действия:
Если вы хотите просмотреть ячейки, которые используются в формуле, необходимо выполнить следующие действия:

Удаление формулы выделенной ячейки рабочего листа XLSX

Если вы хотите удалить формулу выделенной ячейки листа XLSX с помощью мыши, вам необходимо выполнить следующие шаги:
Вот C#/VB.NET код, который демонстрирует, как удалить формулу выделенной ячейки листа XLSX:
public void ClearXlsxCell(Vintasoft.Imaging.Office.Spreadsheet.UI.SpreadsheetEditorControl editorControl)
{
    // get visual editor for spreadsheet document
    Vintasoft.Imaging.Office.Spreadsheet.UI.SpreadsheetVisualEditor spreadsheetVisualEditor = editorControl.VisualEditor;

    // clear contents (value and formula) of selected cells
    spreadsheetVisualEditor.ClearCellsContents();
}
Public Sub ClearXlsxCell(editorControl As Vintasoft.Imaging.Office.Spreadsheet.UI.SpreadsheetEditorControl)
    ' get visual editor for spreadsheet document
    Dim spreadsheetVisualEditor As Vintasoft.Imaging.Office.Spreadsheet.UI.SpreadsheetVisualEditor = editorControl.VisualEditor

    ' clear contents (value and formula) of selected cells
    spreadsheetVisualEditor.ClearCellsContents()
End Sub


Список поддерживаемых формул


Вот список поддерживаемых формул "Дата и время":
Вот список поддерживаемых "Инженерных" формул:
Вот список поддерживаемых "Финансовых" формул:
Вот список поддерживаемых "Информационных" формул:
Вот список поддерживаемых "Логических" формул:
Вот список поддерживаемых формул "Ссылки и массивы":
Вот список поддерживаемых "Математических и тригонометрических" формул:
Вот список поддерживаемых "Статистических" формул:
Вот список поддерживаемых "Текстовых" формул: