vb.net 编写数组数组以Excel范围工作表



>我有一个窗口表单,要求用户输入一些内容。创建二维数组。然后打开一个新的 excel 工作簿,并将数组写入该工作簿中的单元格。一切似乎都像我预期的那样工作,除了放置在单元格中的值是"System.Int64[][]"而不是数组中的值。

下面是从我创建 2d 数组(函数调用(开始的代码。任何帮助,不胜感激。谢谢

'Get Final Array
    Dim fArray As Long()()
    fArray = getFArray(numVars, numCombos, stepNumsArray, jArray)
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Dim xlApp As New excel.Application
    Try
        Dim xlBook As excel.Workbook = xlApp.Workbooks.Add
        Dim xlWS1 As excel.Worksheet = CType(xlBook.Worksheets(1), excel.Worksheet)
        xlApp.Visible = True
        Dim R As excel.Range
        R = xlWS1.Cells.Range("A2:C13")
        R.Value = fArray.ToString
        xlWS1.SaveAs(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) & "" & "Test.xlsx")
    Catch ex As Exception
        MsgBox("Export to Excel Error: " & ex.Message)
    Finally
        xlApp.Workbooks.Close()
        xlApp.Quit()
        xlApp = Nothing
    End Try

主要问题是使用交错数组而不是矩形数组,在数组上使用.ToString,以及使用Long而不是Double(Excel 对所有数字类型使用 Double(。一旦这些问题被修复:

Dim fArray(11, 2) As Double
' ...
xlWS1.Range("A2:C13").Value2 = fArray

最新更新