Excel / C – 用数组获取input*

我正在处理一个简单的XLL插件,并试图用普通的double *(不是FP或OPER)来获取input,因为据我所知,Excel应该使用常规的C数据types。 我无法让它工作,经过多次修改,现在它只返回我最后一个单元格中的值。 我究竟做错了什么?\

static AddIn xai_array_try( "?xll_array_try", XLL_DOUBLE XLL_DOUBLE_, "ARRAY.TRY", "Array", "STL", "Test Sum Array." ); double WINAPI xll_array_try(const double *arr) { #pragma XLLEXPORT int i; double sum = 0; int size = 3; for (i = 0; i < size; ++i) { sum += arr[i]; } return sum; } 

如果我将它作为一个FP或OPER,我可以然后将它传递给一个函数,将input作为数组?

据此计算出来的

我的插件输出是错误的,我的functioninput是错误的。

 static AddIn xai_array_try( "?xll_array_try", XLL_DOUBLE "O%", "ARRAY.TRY", "Array", "STL", "Test Sum Array." ); double WINAPI xll_array_try(int *rows, int *columns, double *arr) { #pragma XLLEXPORT int i; double sum = 0; int size = *rows * *columns; for (i = 0; i < size; ++i) { sum += arr[i]; } return sum; }