ホームページ > バックエンド開発 > C++ > Excel ファイルを読み取るときに C# コードで「外部テーブルが予期された形式ではありません」というエラーが発生するのはなぜですか? それを修正するにはどうすればよいですか?

Excel ファイルを読み取るときに C# コードで「外部テーブルが予期された形式ではありません」というエラーが発生するのはなぜですか? それを修正するにはどうすればよいですか?

Linda Hamilton
リリース: 2025-01-26 17:31:39
オリジナル
663 人が閲覧しました

Why Does My C# Code Get an

c#コードを解決してExcelファイルを読み取ると、「外部フォーム形式が一致しません」エラー

oledbdatadapterを使用してExcel(xlsx)ファイルを読み取ると、「外部フォーム形式」エラーが発生する可能性があります。このエラーは通常、XLSXファイルが共有ネットワーク位置に配置され、Microsoft Excelで事前に開いていない場合に発生します。

質問:

次のコードでXLSXファイルを読み取るとき、ファイルがExcelで開かれていない限り、エラーが発生します。 解決策:

このエラーを解決し、事前にファイルを開く必要なくExcelファイルを読み取るには、接続文字列を更新する必要があります。エラーメッセージは、接続文字列がExcel 2007ファイル形式と互換性のない古い形式を使用するため、「外部形式が一致しない」ことを示しています。
<code class="language-c#">string sql = "SELECT * FROM [Sheet1$]";
string excelConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + pathname + ";Extended Properties=\"Excel 8.0;HDR=YES;IMEX=1;\"";

using (OleDbDataAdapter adaptor = new OleDbDataAdapter(sql, excelConnection)) {
    DataSet ds = new DataSet();
    adaptor.Fill(ds);
}</code>
ログイン後にコピー

推奨されるソリューションは、接続文字列を次のものに置き換えることです。 更新された接続文字列はMicrosoft.ace.oledb.12.0を使用してプログラムを提供し、拡張プロパティを12.0に拡張します。この組み合わせは、Excel 2007以降のファイル形式と互換性があり、「外部形式形式」エラーを解くことができるはずです。

以上がExcel ファイルを読み取るときに C# コードで「外部テーブルが予期された形式ではありません」というエラーが発生するのはなぜですか? それを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート