XLSX ファイルを読み取り、そこから最大量のコンテンツを抽出する必要があります。どの API を使用すればよいですか?
OLE DB、オープン XML SDK、または Excel 相互運用機能ですか?
- どれが一番使いやすいですか?
- いずれかを使用してすべての情報を取得できますか? つまり、日付、時刻、結合されたセル、テーブル、ピボットテーブルなどです。
すべて試してみて、自分に一番合ったものを選ぶことができます...
読み取りたいデータに応じて、Interop または Ole DB で Open XML を使用することをお勧めします。
オープン XML SDK については知りませんが、EPPlusライブラリをよく使用した経験があり、それについては良い言葉しか言えません。高速で、習得が容易で、良い例があります。ライブラリは Open Office XML 形式に基づいているため、おっしゃる SDK とほとんど同じで、Excel 2007 および 2010 ファイルを簡単に読み書きできると思います。
リンク先の Web には、ライブラリ自体、ドキュメント、およびダウンロード可能な "Hello World" プロジェクトの例がいくつかあります。
そもそもなぜその図書館?それを使用すると、セルの値だけでなく、色、フォント、幅と高さ、マージ、およびすべての詳細な情報を読み取ることができるため、読み取るだけでなく変更もできます。さらに、そのために Excel をインストールする必要はありません。
次に、ワークシートから表形式のデータを抽出する必要がある場合に備えて、OLE DB で遊ぶことができます。残念ながら、フォーマットや色などに関する情報を抽出することはできず、データは表形式で整理されたワークシートにある必要があるため、データベースのテーブルとして扱うことができます。
最後の 1 つは相互運用性です。理由は次
のとおりです: - COM ライブラリなので、.NET 経由で操作するときは非常に注意する必要があります。見苦しく、見つけにくいメモリ リークが発生しやすいためです (自分の悪い経験で確認しました) -オブジェクトを適切に破棄しないと、Excel.exe プロセスが開いたままに
なります。以前の方法よりもはるかに遅くなります。
基本的に、以前の方法の 1 つ (EPPlus または OleDB) よりも付加価値がほとんどなく、 Excel はクライアントのマシンにインストールする必要がありますが、なぜそれを使用するのですか?
じゃあ、頑張ってね。