2011-12-05 14 views
1

私は.xls形式でファイルをエクスポートするためにExcelリファレンス(Microsoft.Office.Interop.Excel, Version=12.0.0.0)を使用するASP.Netアプリケーションを作成しました。ホスティングサーバーにMS Officeがインストールされている場合は正常に動作しています。Excelエクスポート機能でアプリケーションを配備する方法は?

私の問題は、完全なMS Officeをホスティングサーバーにインストールせずにアプリケーションを展開したいということです。依存関係を解決するために私のbinフォルダにいくつかのDLLをコピーしたいだけです。

MS Officeがプレインストールされていないサーバーにアプリケーションを展開すると、このエラーが発生します。

Error: Could not load file or assembly 'office, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c' or one of its dependencies. The system cannot find the file specified.

この問題に直面して回避策が見つかった人はいますか?

おかげ

答えて

2

あなたは相互運用ライブラリを使用するには、Officeをインストールする必要があります。私はExcelファイルを操作するため、過去にEPPlusを使用していたUsing Microsoft.office.interop.excel.dll without installing Office

+0

つまり、アプリケーションにInterop機能を使用するにはMS OfficeまたはExcelをインストールする必要があります。いくつかのDLLしか使用できないことはありますか? – Haidar

+0

Excelを使っているだけなら、Officeスイート全体ではなく、Excelをインストールできます。 –

+0

@GarrettVlieger MS Interopによると、ASP.NETなどではサポートされていません。 – Yahia

1

から詳細はこちらをご覧ください:

http://epplus.codeplex.com/

それはExcelがインストールされなくても、Excel 2007の2011をサポートします。 Excelからのデータの読み取りとExcelへのデータの書き込みの両方をサポートします。いくつかの良い例があります。

2

Using Interop in Server scenarions (like ASP.NET) might technichally work sometimes BUT is NOT supported by MS

相互運用せずにExcelファイルを作成/編集/読み込むための多くのオプションがあります:

MSの無料のOpenXML SDK V 2.0を提供 - http://msdn.microsoft.com/en-us/library/bb448854%28office.14%29.aspx(XLSXのみ)を参照してください

これは、 MS Officeファイル(Excelを含む)を読み書きできます。

別の無料のオプションあなたがより多くの(XLSのように、XLSXだけではなく)古いバージョンのExcel、PDFファイルの作成、レンダリング、数式などを扱うように必要がある場合はその後、別の自由と商業があるhttp://www.codeproject.com/KB/office/OpenXML.aspx(XLSXのみ)

を見ますClosedXML(無料、XLSXのみ)、EPPlus(無料、XLSXのみ)、Aspose.CellsSpreadsheetGearLibXLおよびFlexcelなどのライブラリがあります。

関連する問題