Well, if your underlying values are not coming from a range of cells and you just need to evaluate individual values of the cells instead same as the first parameter, you may accommodate it in your codes accordingly in the implementation of ICustomFunction interface, see the updated sample program for your reference:
using System;
using System.Collections.Generic;
using System.Text;
using Aspose.Cells;
namespace UsingICustomFunction
{
public class CustomFunction : ICustomFunction
{
public object CalculateCustomFunction(string functionName, System.Collections.ArrayList paramsList, System.Collections.ArrayList contextObjects)
{
//get value of first parameter
decimal firstParamB1 = System.Convert.ToDecimal(paramsList[0]);
//get value of second parameter
decimal secondParamC1 = System.Convert.ToDecimal(paramsList[1]);
//get value of second parameter
decimal thirdParamC5 = System.Convert.ToDecimal(paramsList[2]);
decimal total = 0M;
total = firstParamB1 + secondParamC1 + thirdParamC5;
//return result of the function
return total;
}
}
class Program
{
static void Main(string[] args)
{
//Open the workbook
Workbook workbook = new Workbook();
//Obtaining the reference of the first worksheet
Worksheet worksheet = workbook.Worksheets[0];
//Adding a sample value to “A1” cell
worksheet.Cells[“B1”].PutValue(5);
//Adding a sample value to “A2” cell
worksheet.Cells[“C1”].PutValue(100);
//Adding a sample value to “A3” cell
worksheet.Cells[“C2”].PutValue(150);
//Adding a sample value to “B1” cell
worksheet.Cells[“C3”].PutValue(60);
//Adding a sample value to “B2” cell
worksheet.Cells[“C4”].PutValue(32);
//Adding a sample value to “B2” cell
worksheet.Cells[“C5”].PutValue(62);
//Adding custom formula to Cell A1
workbook.Worksheets[0].Cells[“A1”].Formula = “=MyFunc(B1,C1,C5)”;
//Calculating Formulas
workbook.CalculateFormula(false, new CustomFunction());
//Assign resultant value to Cell A1
workbook.Worksheets[0].Cells[“A1”].PutValue(workbook.Worksheets[0].Cells[“A1”].Value); //167 - Ok
//Save the file
workbook.Save(“e:\test2\UsingICustomFunction1.xlsx”);
}
}
}
Hope, it helps a bit for your understanding.
Thank you.