vb.net编写Array of Arrays到excel Range工作表

时间:2017-03-27 16:47:56

标签: excel vb.net multidimensional-array

我有一个Windows窗体,要求用户输入一些内容。创建一个2 d数组。然后打开一个新的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

1 个答案:

答案 0 :(得分:0)

主要问题是使用锯齿状数组而不是矩形数组,在数组上使用.ToString,使用Long代替Double(Excel使用Double代表所有人数字类型)。修好后:

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