Excel不识别带有DateTime参数的C#函数

我想要构build具有以下function的Excel插件:

[ExcelFunction()] public static double myAverage1(double[] inputVector) { return inputVector.Sum()/inputVector.Length ; } [ExcelFunction()] public static double myAverage2(DateTime[] TS1_DateTime) { return 12.5; } 

问题是Excel不识别函数myAverage2

问题与DateTimetypes有关,我试图将其更改为stringtypes,但函数是无法识别的。 任何想法如何解决这个问题?

我最终想达到的是给这个函数两个DateTime数组,并取回这些交集。

根据此线程 ,Excel-DNA应该使用ToOADateFromOADate方法自动将DateTime值编组为double

我没有自己尝试过,但我的猜测是,它没有设置检测数组或DateTime列表,但只有单个DateTime参数。

尝试将参数声明为double[] ,然后在函数内部执行如下操作:

 DateTime dt[] = values.Select(x => DateTime.FromOADate(x)).ToArray(); 

或者每个值分别调用FromOADate ,具体取决于函数的需要。

尽pipe该函数被声明为double[] ,但仍然应该能够传递一个包含date的单元格数组,因为Excel将要传递它们作为OLE自动化date。