Visual Basic.NET 7.x (2002/03)Visual Basic 8 (2005)Visual Studio .NET 2003Windows 2003.NET 1.1Visual Studio 2005Windows 2000Windows XP.NET 2.0Windows Forms中级开发Visual StudioWindows.NETVisual Basic
使用 VB.NET 读取和写入 Excel 文件






2.72/5 (19投票s)
这段代码帮助用户使用 VB.NET 中的 OleDBDataProvider 与 Excel 文件交互。
引言
这篇文章帮助用户使用 VB.NET 中的 OLEDBDataProvider
在 Excel 文件中插入、更新、删除和选择数据。
以下是使用 OleDBDataProvider
连接到 Excel 的连接字符串
Private Const connstring As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\Test.xls;Extended Properties=""Excel 8.0;HDR=YES;"""
以下是在按钮单击事件中选择和插入 Excel 文件数据的代码
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
Dim pram As OleDbParameter
Dim dr As DataRow
Dim olecon As OleDbConnection
Dim olecomm As OleDbCommand
Dim olecomm1 As OleDbCommand
Dim oleadpt As OleDbDataAdapter
Dim ds As DataSet
Try
olecon = New OleDbConnection
olecon.ConnectionString = connstring
olecomm = New OleDbCommand
olecomm.CommandText = _
"Select FirstName, LastName, Age, Phone from [Sheet1$]"
olecomm.Connection = olecon
olecomm1 = New OleDbCommand
olecomm1.CommandText = "Insert into [Sheet1$] " & _
"(FirstName, LastName, Age, Phone) values " & _
"(@FName, @LName, @Age, @Phone)"
olecomm1.Connection = olecon
pram = olecomm1.Parameters.Add("@FName", OleDbType.VarChar)
pram.SourceColumn = "FirstName"
pram = olecomm1.Parameters.Add("@LName", OleDbType.VarChar)
pram.SourceColumn = "LastName"
pram = olecomm1.Parameters.Add("@Age", OleDbType.VarChar)
pram.SourceColumn = "Age"
pram = olecomm1.Parameters.Add("@Phone", OleDbType.VarChar)
pram.SourceColumn = "Phone"
oleadpt = New OleDbDataAdapter(olecomm)
ds = New DataSet
olecon.Open()
oleadpt.Fill(ds, "Sheet1")
If IsNothing(ds) = False Then
dr = ds.Tables(0).NewRow
dr("FirstName") = "Raman"
dr("LastName") = "Tayal"
dr("Age") = 24
dr("Phone") = 98989898
ds.Tables(0).Rows.Add(dr)
oleadpt = New OleDbDataAdapter
oleadpt.InsertCommand = olecomm1
Dim i As Integer = oleadpt.Update(ds, "Sheet1")
MessageBox.Show(i & " row affected")
End If
Catch ex As Exception
MessageBox.Show(ex.Message)
Finally
olecon.Close()
olecon = Nothing
olecomm = Nothing
oleadpt = Nothing
ds = Nothing
dr = Nothing
pram = Nothing
End Try
End Sub