这是我在做什么的要点。我有一个功能区按钮,需要将一个简单的 2 列 CSV 文件逐行读取到一维数组中,然后我需要将数组写入 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
sub 中,我收到错误“范围是一种类型,不能用作表达式” Range("A1:B1").Value2 = fields
。
在Button2_Click
sub 中,我只是想看看是否可以将静态值写入单个单元格。我在不同的 SO 或 MSDN 帖子上找到了确切的代码行......我现在不记得了。无论哪种方式,我都得到“'Worksheet' 是模棱两可的,从命名空间或类型' Microsoft.Office.Tools.Excel
,Microsoft.Office.Interop.Excel
'导入。”
我对此比较陌生,但我已经尝试了数百种将分隔数据导入excel的来源/方法,更具体地说,将数据写入单元格/范围。
有谁看到我在这里错过/做错了什么?或者也许还有另一件事我可以尝试将数据写入单元格/范围?