Excel-DNA,显示的数组是一个充满#VALUE!的数组,如何解决这个问题

时间:2015-10-04 01:20:45

标签: c# arrays excel-dna

我正在尝试使用Excel-DNAArrayResizer在Excel中显示54x4数组。我在C#代码的返回值处设置了一个断点。并且可以看到返回值很好。

{object[54, 4]}
[0, 0]: "000001"
[0, 1]: "One "
[0, 2]: 12
[0, 3]: "OK"
[1, 0]: "000002"
[1, 1]: "Two "
[1, 2]: 21
[1, 3]: "Ok"
[2, 0]: "000003"
[2, 1]: "3"
......

excel上显示的数组大小合适,但填充了#VALUE!  enter image description here

可能知道我在这里做错了什么?

1 个答案:

答案 0 :(得分:0)

  

Microsoft Excel可能会显示#VALUE!如果公式包含包含不同数据类型的单元格,则会出错。

https://support.office.com/en-us/article/Correct-a-VALUE-error-cec24732-88fc-4b76-945c-32fd4e847573

我的想法是原因是你的数组object类型中包含字符串和整数类型,这让XL感到困惑。根据提供的信息,我的建议是将源数组中的所有值转换为string类型,而不是使用object类型 -

    Object[] objArr = {"a", "b", "c"};
    String[] strArr = Array.ConvertAll<Object, string>(objArr, x => x.ToString());