0

.xls ファイルを .csv に変換する方法の先頭にある私のコードを次に示します。

sourceFile="C:\\Users\\myUser\\Desktop\\Folder\\myFile.xls";

string strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + sourceFile + ";Extended Properties=\"Excel 8.0;HDR=No;IMEX=1\"";

OleDbConnection conn = new OleDbConnection(strConn);

conn.Open();

そして、最後の行でクラッシュし、次の例外がスローされます: Unexpected error from external database driver (22)。

IMEX=1の部分を外してみましたがだめでした。

何が問題ですか?

4

6 に答える 6

5

私も同じ問題を抱えていましたが、スプレッドシートの名前を短い名前に変更する必要がありました.(SQL 2012 Dev)

于 2013-08-29T18:08:45.573 に答える
2

奇妙なことに、別のフォルダーのファイルを置き換えたところ、機能しました。なぜこれが起こっているのか分かりません。

于 2013-02-14T07:32:01.763 に答える
1

Microsoft.Jet.OLEDB.4.0プロバイダーを使用してみてください。OleDbConnectionStringBuilderまた、ビルドに使用することをお勧めしますOleDbConnectionString

var oleConnectionStringBuilder = new OleDbConnectionStringBuilder { Provider = "Microsoft.Jet.OLEDB.4.0" };
oleConnectionStringBuilder.DataSource = sourceFile;
oleConnectionStringBuilder.Add("Extended Properties", "Excel 8.0");
oleConnectionStringBuilder.Add("HDR", "No");
于 2013-02-07T08:06:42.130 に答える
0

MicrosoftExcelドライバに問題があるようです。別のPCでプログラムを実行して、このエラーが発生するかどうかを確認してください。

このKB記事を見てください:

http://www.codeproject.com/KB/database/ReadExcel07.aspx。OleDbを使用してExcelファイルを接続できます。

これがお役に立てば幸いです。試してみたら、気軽にフォローアップしてください。

于 2013-02-07T08:32:15.857 に答える
0

Microsoft access DB Engine Security update をアンインストールして、これを修正しました。また、access DB engine 2007 の Service pack3 Update もアンインストールします。うまくいくことを願っています...

于 2016-03-16T05:00:58.493 に答える