Lesen Von Excel -, Vermischt-Datentyp Ohne Ändern Der Registry-Schlüssel

Ich versuche C# zu Lesen, excel-Datei, die vermischt Datentyp. Unten ist mein connection string

var path = //xls location
var MyConnection = new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0; Data Source='" + path + "';Extended Properties='Excel 8.0;IMEX=1;'");

Forschung hat mich gelehrt, dass die komplette Extended Properties im connection string werden soll

Excel 8.0;IMEX=1;HDR=NO;TypeGuessRows=0;ImportMixedTypes=Text

Jedoch ich wurde darüber informiert, dass in der Verbindungszeichenfolge, die TypeGuessRows=0 hat keine Bedeutung als der Wert , die direkt aus der Registry. Daher habe ich ändern müssen die Schlüssel manuell und entfernen Sie diese Eigenschaft aus der Verbindungszeichenfolge.

Die bestimmte registry-Schlüssel, der beteiligt war, ist:

Pfad:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel

Schlüssel:

TypeGuessRows

Original-Wert = 8, um es Arbeit zu ändern in = 0

Ohne dabei die IMEX funktioniert nicht, obwohl ich hinzufügen TypeGuessRows=0 in die Extended Properties.

Jedoch, meine Firma verbietet das ändern von registry-Wert (strikt). Mir wurde gesagt, um alternativen zu finden, dies zu tun.

Kurz:

Gibt es eine Möglichkeit, Lesen, vermischt Datentyp excel Datei ohne dass ändern alle Registrierungsschlüssel (das ist durchaus eine gängige Praxis)?

Weiteres Thema:

Haben Sie erlebt? Gibt es Möglichkeiten, dass wir TypeGuessRows=0 von der connection string nur ohne das ändern der registry-Schlüssel (Rücknahme aus meiner obigen Prämisse).

, Wenn die Dinge nicht mit OleDb:

Gibt es alternativen neben OleDb?

Ich schätzen jede Beratung oder Anregungen.

Hinsichtlich

InformationsquelleAutor rofans91 | 2012-03-30
Schreibe einen Kommentar