2016-07-14 60 views
0

我目前正在從excel導入到c#,但這是第一次這樣做,我以爲我在解決了一個數字後有連接工作的其他問題,但我現在正在接受上述錯誤。當試圖將數據拉入C#時發現「找不到可安裝的ISAM」錯誤

該代碼構建得非常好,我找不到任何其他問題,任何人有任何想法?

using System; 
using System.Collections.Generic; 
using System.Data.OleDb; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 

namespace test_excel 
{ 
class Program 
{ 
    static void Main(string[] args) 
    { 
     // @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + ";Extended Properties='Excel 8.0;HDR=YES;IMEX=1;';" 
     string con = 
@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source='C:\Users\Joshua.cameron\Documents\BullenGrosvenorTest\EstatesITExportSpec.xlsx';Extended Properties='Excel 12.0 Xml;HDR=YES;IMEX=1;';"; 
// @"Extended Properties='Excel 12.0 Xml;HDR=YES;IMEX=1'"; 
     using (OleDbConnection connection = new OleDbConnection(con)) 
     { 
      connection.Open(); 
      OleDbCommand command = new OleDbCommand("select * from [Rental Sheet$]", connection); 
      using (OleDbDataReader dr = command.ExecuteReader()) 
      { 
       while (dr.Read()) 
       { 
        var row1ColA = dr[0]; 
        Console.WriteLine(row1ColA); 
       } 
      } 
     } 
    } 
} 

}

+0

哪條線做這個突破?它是否讀取任何行,並通過XLS文件中斷部分? – Mangist

+0

嗨,它斷Connection.Open();並且在此之前不讀取任何行。 –

+0

將連接字符串的提供者部分更改爲Provider = Microsoft.ACE.OLEDB.12.0; – Mangist

回答

1

我能得到這個通過修改連接字符串的工作:

string con = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Joshua.cameron\Documents\BullenGrosvenorTest\EstatesITExportSpec.xlsx;Extended Properties='Excel 12.0 Xml;HDR=YES' "; 
+0

你好,非常感謝,完美的工作,我得到了另一個錯誤後,但我固定一個足夠簡單。 –

+0

不客氣,老兄 – Mangist

相關問題