C# を使用して、特定の Excel ワークブック シートから ADO.NET DataTable にすべてのデータ行を読み込む最速の方法は何ですか? Excel ワークブックは約 30MB になります。
ODBC をサーバー マシンにインストールする際に問題が発生するため、ODBC は使用したくありません。
私の好みは StreamReader クラスを使用するソリューションですが、StreamReader を使用しないソリューションは、ODBC を使用するソリューションを除いて大歓迎です。
C# を使用して、特定の Excel ワークブック シートから ADO.NET DataTable にすべてのデータ行を読み込む最速の方法は何ですか? Excel ワークブックは約 30MB になります。
ODBC をサーバー マシンにインストールする際に問題が発生するため、ODBC は使用したくありません。
私の好みは StreamReader クラスを使用するソリューションですが、StreamReader を使用しないソリューションは、ODBC を使用するソリューションを除いて大歓迎です。
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]