我有一个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
答案 0 :(得分:0)
主要问题是使用锯齿状数组而不是矩形数组,在数组上使用.ToString
,使用Long
代替Double
(Excel使用Double
代表所有人数字类型)。修好后:
Dim fArray(11, 2) As Double
' ...
xlWS1.Range("A2:C13").Value2 = fArray