以下是我正在做的要点。我有一个功能区按钮,需要将一列简单的2列CSV文件逐行读入1维数组,然后我需要将数组写入Excel中的前两列。试图将数组写入单元格的范围
我已经成功读入数组(下面的msgbox行确认),但我不能为我的生活得到任何东西写入工作表。
Imports Microsoft.Office.Tools.Ribbon
Imports Microsoft.Office.Interop.Excel
Imports Microsoft.Office.Tools.Excel
Imports System.Text
Imports Microsoft.Office.Core
Imports Microsoft.VisualBasic.FileIO
Public Class MyRibbon
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As Microsoft.Office.Tools.Ribbon.RibbonControlEventArgs) Handles Button1.Click
Dim filename As String = "C:\DATA_csvtest.TXT"
Dim fields As String()
Dim delimiter As String = ","
Using parser As New TextFieldParser(filename)
parser.SetDelimiters(delimiter)
While Not parser.EndOfData
' Read in the fields for the current line
fields = parser.ReadFields()
' Add code here to use data in fields variable.
MsgBox(fields(0) + " " + fields(1)) 'verifies above code is working
Range("A1:B1").Value2 = fields
End While
End Using
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As Microsoft.Office.Tools.Ribbon.RibbonControlEventArgs) Handles Button2.Click
Worksheet("Sheet1").Range("A1").Value = 3.14159
End Sub
Private Sub MyRibbon_Load(ByVal sender As System.Object, ByVal e As Microsoft.Office.Tools.Ribbon.RibbonUIEventArgs) Handles MyBase.Load
End Sub
End Class
在Button1_Click
子,我发现了错误“范围是一种类型的,不能用作表达式”上Range("A1:B1").Value2 = fields
。
在Button2_Click
子,我只是想看看我是否可以写一个静态值到单个单元格。我在不同的SO或者MSDN上发现了精确的代码行......现在我不记得了。无论哪种方式,我得到“'工作表'是不明确的,从命名空间或类型'Microsoft.Office.Tools.Excel
,Microsoft.Office.Interop.Excel
'导入。”
我对此比较陌生,但我已经尝试了将数据导入到excel中的源代码/方法,尤其是将数据写入单元格/范围。
有没有人看到我失踪/在这里做错了?或者也许有另一件事我可以尝试将数据写入单元格/范围?
所以你是在VB.NET上,你想创建一个新的Excel工作簿并添加CSV文件的值,对吧? – 2013-05-12 09:08:44