在网上找了一下原本是C#的.........我改成VB但是出错.......
[CODE] Dim oleDbConnection As New OleDbConnection
Dim myConnection As New OleDbConnection
Dim datatable As DataTable
Dim datatable1 As DataTable
Dim query, connExcel, connAccess As String
Dim dataset As New DataSet
Dim oleAdapter As New OleDbDataAdapter
Dim sqlDA1 As New OleDbDataAdapter
Dim sqlCB1 As New OleDbCommandBuilder
connExcel = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("book1.xls") + ";Extended Properties=Excel 8.0"
oleDbConnection = New OleDbConnection(connExcel)
oleDbConnection.Open()
datatable = OleDbConnection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, Null)
query = "SELECT * FROM [Sheet1$]"
dataset = New DataSet
oleAdapter = New OleDbDataAdapter(query, connExcel)
oleAdapter.Fill(dataset)
' DataGrid1.DataSource = dataset.Tables(0).DefaultView
' DataGrid1.DataBind()
connAccess = "provider=microsoft.jet.oledb.4.0;data source=" & Server.MapPath("data\data.mdb")
myConnection = New OleDbConnection(connAccess)
Try
myConnection.Open()
sqlDA1 = New OleDbDataAdapter(@"SELECT * FROM 题目表", myConnection)
datatable1 = New DataTable
sqlCB1 = New OleDbCommandBuilder(sqlDA1)
sqlDA1.Fill(datatable1)
Dim datarow1 As DataRow
datarow1 = Null
Dim DataRow As DataRow
For Each DataRow In dataset.Tables(0).Rows
datarow1 = datatable1.NewRow()
datarow1("编号") = DataRow("编号")
datarow1("类型") = DataRow("类型")
datatable1.Rows.Add(datarow1)
Next
Response.Write("新插入 " + datatable1.Rows.Count.ToString() + " 条记录")
sqlDA1.Update(datatable1)
Catch
Response.Write("出错!!!")
End Try
myConnection.Close()
oleDbConnection.Close()
End Sub[/CODE]
各位帮我看看!!!!!!!!!!!!!!!!!谢谢!!!!!
我 干脆把这句也删了..............可以
不过那个Excel文件每次都要放到目录里........那有什么办法直接把客户机上的Excel文件里的数据直接上传到数据库里呢?
版主大哥............................这样是不是要把客户的Excel文件上传到服务器.......再用上面的代码存入数据库呢??
也就是说...........直接得到客户端机上Excel文件的地址.....把数据读到虚拟表里..再存入数据库就行了??
[CODE]connExcel = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("book1.xls") + ";Extended Properties=Excel 8.0"[/CODE]
红色的是不是客户端机上Excel文件的地址啊?????呵呵..我很菜鸟!!!