Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于VB.NET中二维数组的内容动态设置Excel范围_Vb.net_Excel_Multidimensional Array_Excel Interop - Fatal编程技术网

基于VB.NET中二维数组的内容动态设置Excel范围

基于VB.NET中二维数组的内容动态设置Excel范围,vb.net,excel,multidimensional-array,excel-interop,Vb.net,Excel,Multidimensional Array,Excel Interop,我有一个程序,它从大约100个SQL过程中的一个构建一个2D数组,然后将数组的内容放入Excel电子表格中。由于数组的大小是可变的,基于正在运行的过程(以及该过程包含的任何参数),excel电子表格的范围必须是动态的,这意味着我无法硬编码“A1:R3”这样的范围 目前,我正在使用以下代码行设置范围: objxlRange = objxlOutSheet.Range(Chr(strOutputArray.GetLowerBound(1) + 1 + 64) & (strOutputArra

我有一个程序,它从大约100个SQL过程中的一个构建一个2D数组,然后将数组的内容放入Excel电子表格中。由于数组的大小是可变的,基于正在运行的过程(以及该过程包含的任何参数),excel电子表格的范围必须是动态的,这意味着我无法硬编码“A1:R3”这样的范围

目前,我正在使用以下代码行设置范围:

objxlRange = objxlOutSheet.Range(Chr(strOutputArray.GetLowerBound(1) + 1 + 64) & (strOutputArray.GetLowerBound(0) + 1) & ":" & Chr(strOutputArray.GetUpperBound(1) + 1 + 64) & (strOutputArray.GetUpperBound(0) + 1))
现在,在100个程序中的99个程序中,这一过程顺利进行,没有问题。然而,有一个程序我们遇到了问题。我们用于运行该过程的数据返回一个44行32列的数据集。我可以将范围硬编码为A1:AF45,然后程序运行,但尝试动态创建该范围(就像我对其他程序所做的那样),返回HRESULT:0x800A03EC时出错

有人能帮忙吗

您可以使用cells()创建范围

range(cells(rowindex,columnindex).address & ":" & cells(rowindex,columnindex).address)
cells()使用整数引用行和列,因此您应该能够直接使用数组中的值