2016-07-14 8 views
0

В настоящее время я работаю над импортом из excel в C#, но это первый раз, так что я думал, что у меня было соединение, работающее после решения числа других вопросов, но теперь я получаю вышеуказанную ошибку.Ошибка «Не удается найти устанавливаемый ISAM» при попытке вытащить данные на C#

Код строит абсолютно нормально, и я не могу найти никаких других проблем, у кого есть идеи?

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