>我有一个窗口表单,要求用户输入一些内容。创建二维数组。然后打开一个新的 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