0

これらの行を実行しようとすると:

var app = new Excel.Application();
Excel.Workbook workbook = app.Workbooks.Open(pathToFile, Type.Missing, true, Type.Missing, Type.Missing,
                                                   Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
                                                   Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);

私はこれらの問題を抱えています:

1) 「ファイル変換が進行中です」というメッセージが表示されます。ワークシートの 1 つから列を読み取るだけでよいのに、なぜ何かを変換する必要があるのでしょうか。

2) 次のエラー メッセージが表示されます。ここに画像の説明を入力

Excel を作成したバージョンを気にする必要があるのはなぜですか?

3)最後に、「セル形式が多すぎます」という例外が発生します。

ワークブックを開く方法を使用している方法に何か問題がありますか、または複数のシートを含む Excel ファイルから特定の列を読み取る別の方法があり、1 つの特定のシートからデータを読み取るだけで済みますか?

4

1 に答える 1

6

あなたには明らかではないかもしれませんが、呼び出します

new Excel.Application()

Excel のインスタンスを開きます (タスク マネージャーで確認できます)。そのため、Excel のバージョンが開いているファイルと互換性がない場合、このエラーが発生します。

Excel アプリケーションで Excel ドキュメントを開こうとしているので、それらのバージョンを気にする必要があります。

OpenXML SDKが役立つと思います。

于 2013-08-05T15:21:06.540 に答える