Подтвердить что ты не робот

Как исправить "Microsoft Excel не может открывать или сохранять любые документы"

Я запускаю веб-приложение С# ASP.NET 4.5 на 64-разрядной версии Windows 7 с использованием IIS 7.5. Пул приложений, который он использует, имеет имя "ASP.NET v4.0", а его идентификатор - ApplicationPoolIdentity. Приложение использует MS Office Interop (Microsoft Excel 14.0 Object Library).

В строке wBook = wBooks.Add(Missing.Value); он выдает следующую ошибку:

Microsoft Excel не может открывать или сохранять какие-либо документы, потому что недостаточно доступной памяти или дискового пространства.

u2022 Чтобы сделать больше доступной памяти, закройте книги или программы, которые вы больше не нужны.

u2022 Чтобы освободить место на диске, удалите файлы, которые вам больше не нужны. диска, который вы сохраняете: at Microsoft.Office.Interop.Excel.Workbooks.Add(шаблон объекта)

1) Я дал полный контроль IIS apppool\ASP.NET v4.0 в приложении MS Excel в конфигурации DCOM.

2) Я дал полный контроль над IIS apppool\ASP.NET v4.0 на "C:\Windows\SysWOW64\config\systemprofile" и создал в нем папку рабочего стола.

3) Мне нужно продолжить использование Interop, хотя это не рекомендуется.

4) Приложение отлично работает на 32-разрядной версии Windows Server 2003/Windows XP.

5) MS Office 2010 (64-разрядная, пробная версия) установлена ​​на компьютере.

6) Я бы предпочел не менять приложение. идентификатор пула от ApplicationPoolIdentity к сетевой службе и т.д. ApplicationPoolIdentity - это новый тип Identity в IIS 7 и рекомендуется.

Он отлично работает, если я выбираю "Интерактивный пользователь" (я вошел в систему как администратор) в DCOM Config, но это вызывает другие проблемы. Мне нужно использовать "Запуск пользователя", который является ASP.NET v4.0. Так что это похоже на проблему с разрешением.

Пожалуйста, помогите. Спасибо.

4b9b3361

Ответ 1

Щелкните правой кнопкой мыши файл с файловым проводником, выберите Properties, затем General и нажмите кнопку Unblock. Это сообщение об ошибке очень вводит в заблуждение.

Ответ 2

Перейдите к этому ключу в редакторе реестра (Run | Regedit) HKEY_CURRENT_USER\Программное обеспечение\Microsoft\Windows\CurrentVersion\Explorer\Папки пользовательской оболочки

измените ключ Кэш на что-то вроде C:\Windows\Temp

Моя аналогичная проблема была решена следующим образом.

Привет,

Рипли

Ответ 3

У меня была такая же проблема, в моей серверной машине не было проблемы с памятью. Наконец, я смог ее исправить, выполнив следующие шаги.

  • В своем сервере хостинга приложений перейдите в "Службы компонентов"
  • enter image description here

3.Нажмите "Приложение Microsoft Excel" в правой части.

4.Откройте его свойства, щелкнув правой кнопкой мыши

вкладка 5.Under Identity выберите вариант интерактивного пользователя и нажмите кнопку "ОК".

Еще раз проверьте. Надеюсь, что это поможет.

ПРИМЕЧАНИЕ. Но теперь вы можете столкнуться с другой ошибкой COM "Получение COM-класса factory для компонента...". В этом случае просто установите идентификатор для этого пользователя и введите имя пользователя и пароль пользователя, обладающего достаточными правами. В моем случае я вошел в пользовательскую группу пользователей.

Ответ 4

Проверьте, как это происходит. Иногда возникает проблема с разрешением.

cmd = > dcomcnfg

Нажмите

Службы компонентов > Вычислить > Мой компьютеp > Конфигурация Dcom > и выберите приложение micro soft Excel

Щелкните правой кнопкой мыши приложение Microsoft Microsoft Excel

Свойствa > Разрешить разрешения Asp.net

Выберите таблицу идентификаторов > Выберите интерактивного пользователя > выберите ok

Ответ 5

Я тоже столкнулся с тем же сценарием и обнаружил два решения после поиска в Google несколько раз. Надеюсь это поможет.

Путь 01:

Прежде чем открывать файл в Excel, найдите его в проводнике Windows. Щелкните правой кнопкой мыши файл и выберите "Свойства". В нижней части вкладки Общие нажмите кнопку Разблокировать. После того, как вы разблокируете файл, Windows должна помнить, и Excel не должен спрашивать вас снова. Эта опция доступна для некоторых типов файлов, но не для других. Если у вас нет кнопки разблокировки, используйте способ 2.

Путь 02:

Этот вариант лучше, если вы обычно храните загруженные файлы Excel в одной папке. В Excel выберите Файл "Параметры" Центр управления безопасностью "Параметры Центра управления безопасностью" Надежные расположения. Нажмите Добавить новое местоположение. Перейдите в папку, в которой хранятся файлы Excel, выберите "Надежные папки" этого расположения и нажмите "ОК".

Ответ 6

Если ничего из вышеперечисленного не помогло, попробуйте также:

  • В Component services >Computes >My Computer>Dcom config>Microsoft Excel Application>Properties перейдите на вкладку "Безопасность", нажмите "Настройка" во всех трех разделах и добавьте пользователя, который хочет запустить приложение, и предоставьте пользователю полные разрешения.

  • Перейдите в C:\Windows\Temp убедитесь, что он существует, и он не запрашивает ввод.

Ответ 7

После предоставления необходимых разрешений в конфигурациях DCOM мне также нужно было изменить удостоверение моего приложения в IIS на настраиваемую учетную запись