Mixed-Datentyp in Excel, IMEX Funktioniert nicht
Ich versuche zu exportieren xls in datatable. Unten ist mein connection string.
string path = //xls source path
OleDbConnection MyConnection = new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0; Data Source='" + path + "';Extended Properties='Excel8.0;IMEX=1;TypeGuessRows=0;HDR=No;ImportMixedTypes=Text'");
Ich IMEX=1
und alle anderen erweiterten Eigenschaften wie ich haben Umgang mit gemischten Datentypen.
Obwohl ich die Verbindung habe ich trotzdem noch Fehler produziert.
Gibt es keine Fehlermeldungen, aber die inkonsistente Zeilen (die, die nicht Folgen Sie der Mehrheit Datentyp sind auf null gesetzt statt).
Kann mir jemand erklären, hab ich was verpasst? Btw, ich bin mit der OleDbDataAdapter
& Fill(DataSet)
Methode.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sind Sie sicher, dass
TypeGuessRows=0;
undImportMixedTypes=Text;
Arbeit von connection string und sollte nicht geändert werden, in der registry (HKEY_LOCAL_MACHINE\SOFTWARE\[Wow6432Node\]Microsoft\Jet\4.0\Engines\Excel
)? AFAIK diese Einstellungen werden gelesen von der Registrierung.ImportMixedTypes=Text
ist in der Regel standardmäßig, aberTypeGuessRows=8
, und es sollte festgelegt werden, um0
wie in deinem connection-string.TypeGuessRows=0
in der Verbindungszeichenfolge explizit, ich habe immer noch die Registrierung manuell Bearbeiten?Excel8.0;IMEX=1;HDR=No;
.TypeGuessRows
undImportMixedTypes
nehmen Sie immer Ihre Werte aus der Registrierung. So, dieses Verhalten ist by design.