0

Webgrid データを Excel シートにエクスポートしている asp.net の Excel へのエクスポートに関して、ここで少し問題があります。localHost では正常に動作していますが、メイン サーバーに展開されている場合でも、メイン サーバーでは動作していません。メインサーバー。

Microsoft.Office.Interop.Excel.Applicationを使用 して Excel シートを生成しています。

メイン サーバーで Excel を生成するためのボタンをクリックすると、次のエラーが表示されます。

次のエラーが原因で、CLSID {00024500-0000-0000-C000-000000000046} のコンポーネントの COM クラス ファクトリのエクスポートに失敗しました: 80040154。 **クラスが登録されていません

私は解決策を探しましたが、問題を解決できるものを見つけることができませんでした。この機能を機能させるには、メインサーバーにもExcelをインストールする必要があることをどこかで読みました。これは解決策ですか、それとも、この問題を解決し、MainServer での作業を Excel にエクスポートするために役立つプラグインです。助けてください。

4

2 に答える 2

1

簡単に言えば、はい、必要です。

長い答えは、これは推奨される方法ではないということです。Web サーバーは、ネットワーク サービスまたは Excel を実行する権限さえも持たないその他の限定された特権アカウントによって実行されます。

これらの権限を Excel の実行に拡張すると、セキュリティが低下する可能性があり、サーバーへの潜在的な損傷は、Excel ドキュメントに何か悪いもの (悪意のあるマクロなど) が入り込む可能性があります。

提供されている Link Kyle は、これについて詳しく知るための優れたリソースです。可能であれば、OpenXML または他のライブラリに移行してみてください。

于 2013-09-11T13:26:47.847 に答える
1

server-side Automation of Officeを読むことをお勧めします。

メイン サーバーから Excel データにアクセスすることはお勧めできません。代わりに Open XML を使用することをお勧めします。

EPPlusなどのサードパーティ製ツールも ご覧ください。

于 2013-09-11T06:57:01.537 に答える