3

WCFASP.net Webサイトの 2 つのプロジェクトを開発しました。WCF サービスは、次のような Excel 生成を実行するコードで構成されています。

Excel.Application xlapp=new Excel.Application();
xlapp.visible=true;
//get data from dataset and process it and then write it to excel

この WCF サービスは、Web ページのクリック ボタンで ASP.net Web サイトでホストされます。

ただし、IIS 7 でこのサービスと asp.net を実行すると、多くのエラーが生成されます。

エラーのいくつかは次のとおりです

次のエラーのため、CLSID {00024500-0000-0000-C000-000000000046} を持つコンポーネントの COM クラス ファクトリを取得できませんでした: 80070005."

次に、許可を与えた後

応用。
使用可能なメモリまたはディスク領域が不足しているため、Microsoft Office Excel はこれ以上ドキュメントを開いたり保存したりできません。• 使用可能なメモリを増やすには、
不要になったブックまたはプログラムを閉じます。• ディスク容量を解放する
には、保存先のディスクから不要になったファイルを削除します

これらすべてのエラーのため、IIS 7 で Excel を実行できません。

アクセス許可から認証まですべての方法を試しましたが、ローカル マシンで XP を実行し、IIS マシンで Win 7 を実行しているとエラーが発生します (これは WIN 7 の問題ですか?)

また、このリンクには、サーバー側のオフィスの自動化はまったくサポートされていないと書かれています

IIS 7 で Excel を起動する簡単な方法はありませんか?? または、WCF サービスよりも ASP.net Web サイトで Excel を呼び出す必要があるかもしれません...

皆さんありがとう

4

3 に答える 3

0

Bas Brekelmansmike27015は正しいです。

asp.net プロジェクトで COM コンポーネントを使用しないでください。OpenXml ライブラリまたは NPOI などのサードパーティ ライブラリを使用することをお勧めします。NPOI は無料で、xls と xlsx(open xml) の両方のタイプをサポートしています。

于 2013-09-30T14:10:24.050 に答える