0

sharepoint spfile として保存された Excel 2003 ドキュメントを「読み取る」にはどうすればよいですか? SPFile.OpenBinary() を使用して問題なくライブラリからドキュメントを取得し、それを MemoryStream に入れることができます。

当初のアイデアは、OpenXML を使用してドキュメントを調査することでした (コンストラクタとしてこのオブジェクト タイプを使用します) が、Excel バージョン (2003) ではこれが禁止されています。

問題をさらに曇らせるために、ホスト マシンに任意のバージョンの Excel があるという保証はないため、相互運用アセンブリも使用できない可能性があります。

提案や解決策はありがたく受け取られます。


読み取りとは、名前付き範囲、セル参照などからデータを取得することを意味します。私が見つけたすべてのオープン ソース ライブラリ (Exceldatareader、NOPI、OpenXML) には、使用を禁止する制限または別のものがあります。例: マクロを有効にしたシートを読み込めません

Excel ドキュメントは、このリストを SPFile のコレクションとして公開する sharepoint ライブラリにロードされます。これらのファイルは簡単に MemoryStream に読み込むことができますが、私が試したライブラリのほとんどはファイルストリーム コンストラクターを必要とします。つまり、アプリケーション サーバー上のファイル システムに書き込む必要があります。

私は SpreadsheetGear を試したことはありませんが、ファイルシステムにフットプリントがない場合は確認しますが、これはこのプロジェクトのオプションではありません。このスレッドを私の調査結果で更新します...

私はPIAを使用するようになりました。汚い、汚い、汚い。

4

3 に答える 3

0

あなたが言うとき、あなたは正確に何を意味していますか?この用語の定義については、開発者の間で大きな議論があるようです。いずれにせよ、Excel がシステム上にあるかどうかは問題ではありません。なぜなら、その人が何らかの方法でファイルを表示したい場合、少なくともリーダーが必要になると確信しているためです。そうは言っても、あなたの恐れは議論の余地があり、MemoryStreamを使用するだけで十分だと思います。

于 2009-11-09T14:12:56.857 に答える
0

この [ライブラリ] ( http://exceldatareader.codeplex.com/ ) を codeplex で見つけました。これは、どの Excel バージョンでも読み取ることができるようです。ウェブ上にはもっとたくさんあるかもしれません

于 2009-11-07T08:01:55.183 に答える