私はセレンアプリケーションを開発しています。Selenium が私の共有サイトにアクセスし、そこから 1 つの Excel シートをダウンロードします。今のところ、セレンのことは忘れてください。
開いたExcelシートをC#で処理したい。列のフィルタリングを行い、(フィルタリング後に) すべての値を一時変数に格納したいという意味で処理しますか?これは可能ですか?
どうすればこれを達成できますか?
どんなコメントも本当に役に立ちます。
私はセレンアプリケーションを開発しています。Selenium が私の共有サイトにアクセスし、そこから 1 つの Excel シートをダウンロードします。今のところ、セレンのことは忘れてください。
開いたExcelシートをC#で処理したい。列のフィルタリングを行い、(フィルタリング後に) すべての値を一時変数に格納したいという意味で処理しますか?これは可能ですか?
どうすればこれを達成できますか?
どんなコメントも本当に役に立ちます。
はい、可能です。見つけるのは簡単だが実行するのが難しい解決策は、Office Interop です。たとえば、Excel を開いて、プログラムを強制的に実行させます。これは機能しますが、ハッキーで遅く、デバッグが困難です。EPPLUS をお勧めします。これは xlsx ファイルを簡単に開いて変更でき、excle interop と比較して非常に高速です。無料ですhttp://epplus.codeplex.com/
一般に Office ドキュメントを操作する公式の方法は、Microsoft 独自の Open XML SDK を使用して Office XML ファイル (docx、xlsx など) を処理することです。SDK を使用するために、コンピューターに Excel をインストールする必要はありません。Excel ファイルを操作するためのドキュメントとサンプルは、「Open XML と Excel を操作する」にあります。
相互運用機能を使用するのは恐ろしい考えです。すべてのドキュメントに対して Excel の新しいインスタンスを作成する必要があり、終了したら閉じていることを確認する必要があるからです。これは、複数のスレッドが同時に Excel ファイルを処理しようとする可能性があるサーバー アプリケーション (Web サイトなど) にとって、管理しがたい状況です。Excel Interop は、サーバーを停止する簡単な方法です。
Interop で可能です。このリンク http://www.dotnetperls.com/excelを確認してください。Excel を使用してフィルター処理を行うか、すべての列を独自のオブジェクトに読み込み、C# でフィルター処理を行うことができます。