2012-03-29 6 views
0

xlsをデータテーブルにエクスポートしようとしています。以下は私の接続文字列です。Excelの混合データ型、IMEXが機能しない

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'"); 

私は混合データ型に対処するために持っているように私はIMEX=1、他のすべての拡張プロパティを設定します。

私はまだそのような接続を設定しましたが、私はまだエラーを生成しました。

には、エラーメッセージありませんが、一貫性のない行(大多数のデータ型に従わない代わりにをnullにセットです)。

誰かが私に何を逃したのか教えていただけますか? Btw、私はOleDbDataAdapter & Fill(DataSet)メソッドを使用しています。

答えて

6

TypeGuessRows=0;ImportMixedTypes=Text;が接続文字列から機能していることを確認してください。レジストリ(HKEY_LOCAL_MACHINE\SOFTWARE\[Wow6432Node\]Microsoft\Jet\4.0\Engines\Excel)で変更しないでください。 AFAIKこの設定はレジストリから読み込まれます。 ImportMixedTypes=Textは通常はデフォルトではTypeGuessRows=8で、接続文字列のように0に設定する必要があります。

+0

偉大な答え... Thx ...どのようなアイデアが起こるか? – rofans91

+0

「そんなこと」はどういう意味ですか? –

+0

私はなぜ、厳密にも、接続文字列に 'TypeGuessRows = 0'を明示的に設定していますが、私はまだレジストリを手動で編集する必要がありますか? – rofans91

関連する問題