Custom Formula in Windows Forms Spreadsheet

23 Jul 20261 minute to read

Spreadsheet allows you to add custom formulas into its function library by using the AddFunction method of FormulaEngine.

spreadsheet.WorkbookLoaded += spreadsheet_WorkbookLoaded;

void spreadsheet_WorkbookLoaded(object sender, WorkbookLoadedEventArgs args)
{

  // Iterate over every grid in the loaded workbook and register the custom formula on each one.
  foreach (var grid in args.GridCollection)
    AddCustomFormula(grid); 

  //Computing the formula at runtime
   var range = spreadsheet.ActiveSheet.Range["B2"];
   spreadsheet.ActiveGrid.SetCellValue(range,"=FindLength(Sample)");

}

private void AddCustomFormula(SpreadsheetGrid grid)
{

  // Add a formula named FindLength to the library.
   grid.FormulaEngine.AddFunction("FindLength", new FormulaEngine.LibraryFunction(ComputeLength));      
}    

// Custom formula implementation.
    
public string ComputeLength(string range)
{

  // Used to calculate the length of the string.
    return range.Length.ToString();
}