我試圖從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