gpt4 book ai didi

c++ - 在 Excel XLL 中返回数组

转载 作者:行者123 更新时间:2023-11-30 04:16:52 32 4
gpt4 key购买 nike

我使用的是 Excel 2010 和 Excel 2010 XLL SDK。我尝试使用此功能:

__declspec(dllexport) LPXLOPER12 WINAPI dfutil(void)
{
static XLOPER12 xlArray;
XLOPER12 xlValues[4];
int i;
double z = 3.1456;
for (i = 0; i < 4; ++i)
{
xlValues[i].val.num = i*z;
xlValues[i].xltype = xltypeNum;
}

xlArray.xltype = xltypeMulti;
xlArray.val.array.lparray = xlValues;//&xlValues[0];
xlArray.val.array.rows = 1;
xlArray.val.array.columns = 4;
return (LPXLOPER12) &xlArray;
}

定义:

{
L"dfutil",
L"QU",
L"dfutil",
L"",
L"1",
L"SimpleXll2007",
L"",
L"",
L"ReturnArray function help",
L"",
L""
},

xlValues 数组大小为 4 时,则返回到 excel 4 个值,但第 3 个值是 TRUE (??)。当 xlValues 数组大小为 10 时,它会向 Excel 返回 #NUM 错误。将数组返回到 Excel 的正确方法是什么?

附言我在这篇文章中使用了这样的模板 http://blogs.msdn.com/b/andreww/archive/2007/12/09/building-an-excel-xll-in-c-c-with-vs-2008.aspx

最佳答案

您还需要将 xlValues 设为静态。使用 https://xll.codeplex.com将使您的生活更轻松。

关于c++ - 在 Excel XLL 中返回数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17476620/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com