2013-05-29 47 views
0

這裏我試圖將Excel工作表數據保存到數據集中。幫助我從此錯誤中結束 Microsoft Jet數據庫引擎找不到對象'Sheet1 $'。確保對象存在,並且正確拼寫其名稱和路徑名。 昏暗DS作爲System.Data.DataSet中 昏暗RecTab作爲Data.DataTable 昏暗RecTab1作爲Data.DataTable 昏暗Rectab2作爲Data.DataTable 昏暗DS1作爲System.Data.DataSet中 昏暗HFCell作爲字符串 昏暗HTCell作爲字符串 Dim FilePath As String

HFCell = "A1" 
    HTCell = "B1" 
    m_FileName = "Data.xls" 
    FilePath = Server.MapPath("..\TankGauge\Data_Mgr") & "\" & m_FileName 
    Try 
     Dim connectionString As String = "" 
     Try 
      connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + FilePath + ";" + "Extended Properties=Excel 8.0;" 
      MyConnection = New OleDbConnection(connectionString) 
      MyConnection.Open() 

      dataAdapter = New OleDbDataAdapter("SELECT * FROM [Sheet1$]", MyConnection) 

      ds = New Data.DataSet 
      dataAdapter.Fill(ds) 
      RecTab = ds.Tables(0) 
      MyConnection.Close() 
+0

什麼版本的Excel文件是什麼呢?它是XML嗎? –

+0

女士office 2007(.Xls),它不是xml –

+1

那麼不知道。但是,下面是我使用的連接字符串,它適用於我:'Provider = Microsoft.ACE.OLEDB.12.0;數據源= {0}; Extended Properties =「Excel 12.0 Xml; HDR = YES」' –

回答

0

在您的Excel工作簿中是否有名爲Sheet1的工作表?如果不是,請重命名工作表或更改代碼以調出要從中獲取數據的工作表。

+0

燁我的Excel有同樣的名字,我已經檢查,即使它顯示錯誤 –

0

我相信你使用的數據庫驅動不起作用。嘗試改變:

connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + FilePath + ";" + "Extended Properties=Excel 8.0;" 

到:

connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + FilePath + ";" + "Extended Properties=Excel 8.0;" 
相關問題