我试图从Excel电子表格中导入一些数据,利用VB.net从Excel导入数据 - VB.NET
我的步骤是:
第一用户将文件上传到服务器
的话,我想从服务器读取该文件,然后填充gridview的
这是我有:
Protected Sub btnUpload_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnUpload.Click
Dim filepath As String = ""
If FileUpload1.HasFile Then
Try
If (FileUpload1.PostedFile.ContentType = "application/vnd.ms-excel") Then
Dim filename As String = Path.GetFileName(FileUpload1.FileName)
'Session("userid") & "-" & Date.Now()
filepath = "\excel\" & Session("userid") & "_" & Now.Date().ToString("Mdy") & "_" & filename
FileUpload1.SaveAs(Server.MapPath("~/") & filepath)
ReadExcel(filepath)
Else
StatusLabel.Text = "Only Excel file types are accepted"
End If
Catch ex As Exception
StatusLabel.Text = "Upload status: The file could not be uploaded. The following error occured: " + ex.Message
End Try
End If
End Sub
Sub ReadExcel(ByVal filepath As String)
Dim MyConnection As System.Data.OleDb.OleDbConnection
Dim DtSet As System.Data.DataSet
Dim MyCommand As System.Data.OleDb.OleDbDataAdapter
MyConnection = New System.Data.OleDb.OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;Data Source='" & filepath & "';Extended Properties=Excel 8.0;")
MyCommand = New System.Data.OleDb.OleDbDataAdapter("select * from [NSTS]", MyConnection)
MyCommand.TableMappings.Add("Table", "Net-informations.com")
DtSet = New System.Data.DataSet
MyCommand.Fill(DtSet)
gwResults.DataSource = DtSet.Tables(0)
MyConnection.Close()
End Sub
错误与“MyConnection的”发生,它试图把眼光放在“C:/”:
“C:\ EXCEL \ 3_41911_Sample.xls”,而不是在服务器上是不是一个有效的路径。确保路径名拼写正确,并且您已连接到文件所在的服务器。
我该如何设置OleDb连接以从服务器获取源文件?
谢谢!
没关系,我得到了它
我说:使用Server.Mappath( “〜/”)&文件路径和现在的作品。但是,现在我收到错误: Microsoft Jet数据库引擎找不到对象'NSTS'。确保对象存在,并且正确拼写其名称和路径名。
NSTS是我第一个电子表格的名称。我究竟做错了什么? :(
我错过了一个studip美元符号:)啊,现在所有的作品!
"select * from [NSTS$]"
谢谢!
烨,多数民众赞成:)只要得到它的工作:)谢谢:) – 2011-04-19 16:07:31