gpt4 book ai didi

Excel VB.Net - 将数组转换为范围并将值设置为工作表

转载 作者:行者123 更新时间:2023-12-04 20:30:52 25 4
gpt4 key购买 nike

几个小时以来,我一直试图找到解决此错误的方法,但我找到的所有解决方案都没有解决我在设置 Range.Value2 = Value 时遇到的错误
在尝试将数组填充到 Excel 电子表格中时。
目前该数组的长度只有 1,我已经尝试过使用更大的数组,到目前为止,它只是在最后一行代码中抛出了这个异常:

System.Runtime.InteropServices.COMException: 'Exception from HRESULT: 0x800A03EC'

编码:
Imports ExcelDna.Integration
Imports Excel = Microsoft.Office.Interop.Excel

Public Function TestFunction()

'Dim data = New Object(1, 2) {{1, 2, 3}, {2, 3, 4}}
Dim app As Excel.Application = CType(ExcelDnaUtil.Application, Excel.Application)
Dim worksheet As Excel.Worksheet = CType(app.ActiveWorkbook.ActiveSheet, Excel.Worksheet)
Dim rng As Excel.Range = CType(worksheet.Cells(2, 1), Excel.Range)

Dim arr() As String = New String() {"hello world"}

'Tried this rng.Value2 = arr as well
rng.Resize(1, arr.Length).Value2 = arr
End Function

我的目标是能够将矩阵复制到 excel 电子表格,但到目前为止我
只需要帮助修复代码与数组一起引发的错误。
感谢您以后的回复!

最佳答案

Range.Value2是一个二维数组/矩阵,你也必须使用这样的数组。

Dim arrLine1() As String = {"Hello World!", "red", "green"}

' convert to 2-dimensional array
Dim arr(,) As String
Redim arr(1, arrLine1.Length)
For i = 0 To arrline1.Length - 1
arr(0, i) = arrLine1(i)
Next

rng.Resize(1, arr.GetUpperBound(1)).Value2 = arr

关于Excel VB.Net - 将数组转换为范围并将值设置为工作表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51139484/

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