【发布时间】:2013-02-15 15:53:01
【问题描述】:
我想从我的 Excel UDF 返回一个二维数组,但它似乎只返回第一个元素:
public object[,] Get2DArray()
{
object [,] a = new object[2, 2];
a[0,0] = 0;
a[0,1] = 1;
a[1,0] = 2;
a[1,1] = 3;
return a;
}
调用的样子:
=Get2DArray()
我做错了什么?
编辑:数组的大小可能会不时改变,所以我不想指定结果将填充的范围的大小。
【问题讨论】:
-
为什么不使用列表?还是 IEnumerable?
-
只返回第一个元素是什么意思?在 Excel 端显示将数组内容分配给范围的代码。
-
Mortalus,我可以使用列表,但我似乎需要在输入公式之前指定数据应填充到的范围。我不想这样做,我宁愿将公式留在一个单元格中,然后当它有数据时,它应该填充公式所在的单元格下方的所有单元格。
-
shahkalpesh,见上图:=Get2DArray()
-
有一个 Excel-DNA 示例说明如何制作自动调整大小的数组函数 - 请参阅 excel-dna.net/2011/01/30/resizing-excel-udf-result-arrays
标签: c# excel user-defined-functions