基于VB.NET中二维数组的内容动态设置Excel范围
我有一个程序,它从大约100个SQL过程中的一个构建一个2D数组,然后将数组的内容放入Excel电子表格中。由于数组的大小是可变的,基于正在运行的过程(以及该过程包含的任何参数),excel电子表格的范围必须是动态的,这意味着我无法硬编码“A1:R3”这样的范围 目前,我正在使用以下代码行设置范围:基于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
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()使用整数引用行和列,因此您应该能够直接使用数组中的值