将范围作为参数从excel传递到c#excel dna

将范围作为参数从excel传递到c#excel dna,c#,excel-dna,C#,Excel Dna,我在excel中选择了一些行和列。 如何将它们作为参数传递给C#excel dna函数jusk,如“Sum(A1:C5)”?[ExcelFunction(Description=“get param type”)] 公共静态字符串getCSType(对象o){ 返回o.GetType().ToString(); } 我使用此方法获取excel参数的类型,并发现选择的单元格 作为对象[,]传递。如果只传递一个单元格,则它将作为字符串类型传递 在c#excel dna中,您可以使用对象接收excel


我在excel中选择了一些行和列。 如何将它们作为参数传递给C#excel dna函数jusk,如“Sum(A1:C5)”?

[ExcelFunction(Description=“get param type”)]
公共静态字符串getCSType(对象o){
返回o.GetType().ToString();
}
我使用此方法获取excel参数的类型,并发现选择的单元格
作为对象[,]传递。如果只传递一个单元格,则它将作为字符串类型传递


在c#excel dna中,您可以使用对象接收excel传递的任何类型的参数。

以下是一个示例代码,可以处理作为单个单元格或数组传递的参数

public static object MyUDF(object param)
{
  if(param is Array){
    if (((Array)param).Rank == 2){
      int columnCount = ((Array)param).GetLength(1);
      int rowCount = ((Array)param).GetLength(0);
      for (int i = 0; i < rowCount; i++)
      {
        for (int j = 0; j < columnCount; j++)
        {
            string cellValue = ((Array)param).GetValue(i, j).ToString(); 
        }
      }
    }     
  }else{
    string cellValue=param.ToString();
  }    
  return "done";
}
公共静态对象MyUDF(对象参数)
{
if(参数为数组){
if(((数组)参数).Rank==2){
int columnCount=((数组)param).GetLength(1);
int rowCount=((数组)param).GetLength(0);
对于(int i=0;i