11

XLSX ファイルを読み取り、そこから最大量のコンテンツを抽出する必要があります。どの API を使用すればよいですか?

OLE DB、オープン XML SDK、または Excel 相互運用機能ですか?

  • どれが一番使いやすいですか?
  • いずれかを使用してすべての情報を取得できますか? つまり、日付、時刻、結合されたセル、テーブル、ピボットテーブルなどです。
4

1 に答える 1

19

すべて試してみて、自分に一番合ったものを選ぶことができます...

読み取りたいデータに応じて、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 はクライアントのマシンにインストールする必要がありますが、なぜそれを使用するのですか?

じゃあ、頑張ってね。

于 2012-04-28T18:42:33.530 に答える