2016-05-18 4 views
0

Ich muss eine Excel-Datei zu Datentabelle lesen. Ich habe diesen Code:Oledb.12.0 Provider ist nicht auf dem lokalen Rechner registriert, aber für einige Anwendungen

 public static DataTable LoadExcelFileToDatatable(string Filename, string SheetName = "Sheet1") 
    { 
     try 
     { 
      string connectionString = System.String.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=\"Excel 8.0;HDR=YES\";", Filename); 
      string query = System.String.Format("SELECT * from [{0}$]", SheetName); 
      OleDbDataAdapter dataAdapter = new OleDbDataAdapter(query, connectionString); 
      DataSet dataSet = new DataSet(); 
      dataAdapter.Fill(dataSet); 
      DataTable dt = dataSet.Tables[0]; 

      return dt; 
     } 
     catch (Exception ex) 
     { 

      throw ex; 
     } 
    } 

Im Projekt, das ich verwende, rufe LoadExcelFileToDatatable() wird werfen jedoch „oledb.12.0 Anbieter ist nicht auf dem lokalen Computer registriert“, wenn ich ein neues Projekt erstellt, und rief die gleiche Methode an, es wird gut funktionieren! Dank

Antwort

0

die Anbieter deinstallieren und installieren Sie es wieder und in Form installieren, wenn Sie benötigen die Benutzer wählen ‚für Jedermann‘ statt ‚Just Me‘ wählen

+0

Während ich zweitens die es 1 Projektarbeit machen Neuinstallation shouldnt und andere nicht .. angesichts der OP erklärte die gleiche Methode in beiden. – BugFinder

0

Es ist abhängig von Office-Version.

Ihre Verwendung von Excel 8,0 in Eigenschaften. es unterstützt nur das Format 97-2003.

bitte folgenden Link siehe

https://www.connectionstrings.com/excel/

+0

Der Provider scheint sich nicht zu kümmern, wenn Sie ihm die falsche Version in den erweiterten Requisiten geben. Auch erweiterte Requisiten werden für die Datei verwendet, nicht der Provider selbst. – user6144226

+0

Danke für die Antwort, aber die gleiche Funktion funktioniert, wenn aufgerufen, um die gleiche Excel-Datei (2007) zu lesen, aber in einer anderen Anwendung, die ich zum Testen erstellt! –

Verwandte Themen