Ошибка «Срок действия лицензии истек» при динамическом создании документов Excel в ASP.NET

StackOverflow https://stackoverflow.com/questions/254207

  •  05-07-2019
  •  | 
  •  

Вопрос

Кто-нибудь знаком с ошибкой ниже? Когда я запускаю свое веб-приложение для создания динамического документа Excel на моей локальной машине, оно работает нормально, но когда на сервере вызывается тот же фрагмент кода, я получаю следующую ошибку. Кажется, что это проблемы с разрешениями, так как он работает на моем компьютере, но не на сервере, но я не знаю, с чего начать, чтобы точно определить проблему. Любое руководство / помощь с благодарностью!

Server Error in '/' Application.
--------------------------------------------------------------------------------

This command is unavailable because the license to use this application has expired. 
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.Runtime.InteropServices.COMException: This command is unavailable because the license to use this application has expired.

Source Error: 

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.  

Stack Trace: 


[COMException (0x800a03ec): This command is unavailable because the license to use this application has expired.]
   Microsoft.Office.Interop.Excel.Workbooks.Add(Object Template) +0
   PaymentsReport.Page_Load(Object sender, EventArgs e) +70
   System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +15
   System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +34
   System.Web.UI.Control.OnLoad(EventArgs e) +99
   System.Web.UI.Control.LoadRecursive() +47
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1061
<Ч>

Office / Excel установлен на сервере, и я могу открывать / сохранять документы Excel на сервере. Может ли это быть версия Excel на сервере против моей локальной машины? Если да, как я могу убедиться, что у меня есть последняя версия на сервере?

Это было полезно?

Решение

Для использования Office Interop необходимо, чтобы используемые вами компоненты Office были фактически установлены на сервере.

Другие советы

Помимо установки, вы должны убедиться, что приложение активировано на сервере:

http://support.microsoft.com/kb/294973

Содержит подробную информацию о том, как это сделать.

Я возьму WAG и скажу, что вы просто не можете вставить любую старую копию Office на сервер и позволить нескольким пользователям получать к ней доступ через ваш веб-сайт. Вам нужно посмотреть на лицензионные ограничения для использования MS Office в серверной среде.

Есть ли у вас лицензионная, активированная копия Excel на сервере? Вероятно, он работает на вашем локальном компьютере, потому что у вас установлен Office / Excel локально.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top