2012-03-29 15 views
0

Ich versuche, xls in Datentabelle zu exportieren. Unten ist meine Verbindungszeichenfolge.Gemischter Datentyp in Excel, IMEX funktioniert nicht

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 habe IMEX=1 und alle anderen erweiterten Eigenschaften, wie ich mit gemischten Datentypen zu tun haben.

Obwohl ich die Verbindung so eingestellt habe, habe ich immer noch Fehler erzeugt.

Es gibt keine Fehlermeldungen, aber die inkonsistenten Zeilen (die folgen nicht der Mehrheit Datentyp sind Satz anstelle null).

Kann mir jemand sagen, was ich vermisse? Übrigens verwende ich die OleDbDataAdapter & Fill(DataSet) Methode.

Antwort

6

Sind Sie sicher, dass TypeGuessRows=0; und ImportMixedTypes=Text; funktionieren von Verbindungszeichenfolge und sollte nicht in der Registrierung (HKEY_LOCAL_MACHINE\SOFTWARE\[Wow6432Node\]Microsoft\Jet\4.0\Engines\Excel) geändert werden? AFAIK diese Einstellungen werden aus der Registrierung gelesen. ImportMixedTypes=Text ist in der Regel standardmäßig, aber TypeGuessRows=8, und sollte wie in Ihrer Verbindungszeichenfolge auf 0 festgelegt werden.

+0

Große Antwort ... Thx ... Irgendeine Idee, wie so etwas passiert? – rofans91

+0

Was meinst du mit "so etwas"? –

+0

Ich meine, warum selbst wenn ich die 'TypeGuessRows = 0 'in der Verbindungszeichenfolge explizit festlegen, muss ich noch manuell die Registrierung bearbeiten? – rofans91