[解決済み】Excel "外部テーブルが期待された形式ではありません。"
2022-01-27 02:33:19
質問
以下のようなコードでExcel(xlsx)ファイルを読み込もうとしています。Excelでファイルを開いていないと、「"External table is not in the expected format."」というエラーが発生します。つまり、C#プログラムからファイルを読み込むには、まずExcelでファイルを開く必要があります。xlsxファイルはネットワーク上の共有にあります。どうすれば、ファイルを開かずに読み込むことができるのでしょうか? ありがとうございます。
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);
}
解決方法は?
外部テーブルが期待された形式ではありません。Microsoft.Jet.OLEDB.4.0 と Extended Properties=Excel 8.0 を使用する接続文字列で Excel 2007 ファイルを使用しようとしたときに発生します。
以下の接続文字列を使用すると、ほとんどの問題が解決するようです。
public static string path = @"C:\src\RedirectApplication\RedirectApplication\301s.xlsx";
public static string connStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties=Excel 12.0;";
関連
-
[解決済み】エラー。「戻り値を変更できません」 C#
-
[解決済み】「入力文字列が正しい形式ではありませんでした」エラーの解決方法は?[重複しています]。
-
[解決済み】ORA-01008: すべての変数がバインドされていません。これらはバインドされています。
-
[解決済み】C# - パスに不正な文字がある場合
-
[解決済み】Visual studio 2019がデバッグ時にフリーズする件
-
[解決済み】画像のペイントにTextureBrushを使用する方法
-
[解決済み】ファイルやアセンブリ、またはその依存関係の1つをロードできませんでした。
-
VSでscanfエラーを恒久的に解決するには、ソースファイルを作成し、自動的に#define _CRT_SECURE_NO_WARNINGS 1を追加してください。
-
[解決済み】データが存在しないのに読み込もうとする試みが無効である
-
[解決済み】「Microsoft.Jet.OLEDB.4.0」プロバイダがローカルマシンに登録されていない。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】「未割り当てのローカル変数を使用」とはどういう意味ですか?
-
[解決済み】プログラム実行中に1秒待つ
-
[解決済み】WebForms UnobtrusiveValidationModeは、jqueryのScriptResourceMappingを必要とする
-
解決済み] Critical error detected c0000374 - C++ dll returns pointer off allocated memory to C# [解決済み] Critical error detected c0000374 - C++ dll returns pointer off allocated memory to C#.
-
[解決済み】「namespace x already contains a definition for x」エラーの修正方法は?VS2010にコンバートした後に発生しました。
-
[解決済み】クロススレッド操作が有効でない。作成されたスレッド以外のスレッドからアクセスされたコントロール
-
[解決済み】C# - パスに不正な文字がある場合
-
[解決済み】Visual studio 2019がデバッグ時にフリーズする件
-
[解決済み】HRESULTからの例外:0x800A03ECエラー
-
[解決済み】パラメータ付きRedirectToAction