Excel / C - 获取数组*的输入

时间:2014-09-18 08:33:20

标签: c arrays excel xll

我正在处理一个简单的XLL插件并尝试使用常规double *(而不是FP或OPER)来获取输入,因为根据我的理解,Excel应该使用常规C数据类型。经过多次修改后,我无法使其工作,现在它只返回我最后一个单元格中的值。我做错了什么?\

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获取,我是否可以将其传递给将输入作为数组的函数?

1 个答案:

答案 0 :(得分:1)

根据this

计算出来

我的插件输出错误,我的功能输入错误。

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;
}