3

C# を使用して、特定の Excel ワークブック シートから ADO.NET DataTable にすべてのデータ行を読み込む最速の方法は何ですか? Excel ワークブックは約 30MB になります。

ODBC をサーバー マシンにインストールする際に問題が発生するため、ODBC は使用したくありません。

私の好みは StreamReader クラスを使用するソリューションですが、StreamReader を使用しないソリューションは、ODBC を使用するソリューションを除いて大歓迎です。

4

1 に答える 1

1

ms office がサーバーにインストールされている場合、最速の方法は、Excel シートを CSV ファイルにエクスポートし、ファイル IO を使用してデータベースにインポートすることです。

COM Interop 経由で Excel を開き、ワークブックを CSV にエクスポートできます。ここstackoverflowの他の人は、この手順について説明しました:C#コードでExcelファイルをcsvファイルに保存します

私は、com 相互運用機能を介して直接 Excel からデータを取得するのが非常に遅いという経験があります。代わりに、Excel は csv を非常に高速にエクスポートします。

[編集] 非常に優れた Office ラッパーは NetOffice です。COM Interop インターフェースと同様に機能しますが、より高速で機能も豊富です: http://netoffice.codeplex.com/

ストリーム リーダーの方が好きなので、codeplex にも Excel バイナリ リーダーがあります: http://exceldatareader.codeplex.com/ [/edit]

于 2013-03-07T12:09:16.393 に答える