次の機能を備えた Web アプリケーションを作成しています。
管理者が事前定義された Excel テンプレート ファイルにいくつかのデータを保存するとします。管理者ページにアクセスして、この Excel をアップロードします。アプリケーションはこの Excel を読み取り、それに応じてデータベース内のデータを更新します。
データベースに格納されたデータは、ViewDetails ページにアクセスするすべてのユーザーに表示される必要があります。これで、データが画面に表示され、[Excel にダウンロード] オプションが提供される必要があります。また、ユーザーは、データをフィルター処理してデータを並べ替えることができます。
行数が 10000 以上で、各行に約 10 ~ 15 列のテキスト/数値データがあるとします。
私の現在の考えは、Interop.Excel オブジェクトを使用して Excel テンプレートを読み取り、データベースにデータをアップロードすることです。読み取りでは、通常、すべてのデータを DataTable にフェッチし、必要に応じて表示します。並べ替えとフィルタリングの目的で DataView を使用する予定です。ただし、この規模のデータを扱ったことはなく、上記の方法を使用したパフォーマンスについてはわかりません。
私の質問は、私の要件を実現するための最善かつ最速の方法は何ですか? それだけの量のデータを Excel ファイルに書き込むのに約 2 ~ 3 分かかるとどこかで読みました。
また、OpenXML にも出会いました。「Open XML は、さまざまなプラットフォーム上の複数のアプリケーションで自由に実装できる、ワード プロセッシング ドキュメント、プレゼンテーション、およびスプレッドシートのオープン スタンダードです。」
要件をよりよく実現するために使用できますか、それとも他の方法がありますか? 私は最近 C# Web アプリケーションの開発を開始し、Excel スプレッドシートを初めて使用しました。前もって感謝します :)