none
iis не может создать файл excel 2010 RRS feed

  • Вопрос

  • WinServer 2016 (Windows 10) + IIS 10 + MS Office 2010.

    Приложение asp.net не может создать и (или) сохранить Excel файл в локальной папке (на другом диске). 

    _Application excel = new Application(); Workbook wb = excel.Workbooks.Add(XlWBATemplate.xlWBATWorksheet); Worksheet ws = wb.Worksheets[1];

    ...

    try
    {
        wb.SaveAs(path);   
    }
    catch
    {
        ..........
    }

    В режиме разработки (запуск проекта из Visual Studio 2015 используя IIS express) файл создается и удаляется.

    При работе IIS (не express) - Исключение: 

    Приложению Microsoft Excel не удается открыть или сохранить документы из-за нехватки памяти или места на диске. 

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

    • Чтобы освободить место на диске, удалите с этого диска ненужные файлы.

    24 января 2019 г. 14:16

Ответы

  • РЕШЕНО - https://bloglisa.ru/?p=1419

    Решение: Зайти в редактор реестра, найти раздел HKEY_CURRENT_USER\Software\Microsof t\Windows\CurrentVersion\Explorer\User Shell Folders, в данном разделе найдите параметр “Cache” и измените его, например, на c:\temp (каталог temp на диске C: должен присутствовать). После изменения перезагружать компьютер не обязательно.

    P.S. Если данный вариант не поможет, то попробуйте изменить переменные окружения (системные и пользовательские) temp и tmp на c:\temp

    • Помечено в качестве ответа 4ph 25 января 2019 г. 14:29
    • Изменено 4ph 25 января 2019 г. 14:37
    25 января 2019 г. 14:29

Все ответы

  • Здравствуйте,

    Уточните пожалуйста у ApplicationPool под которым работает ваш проект/веб-приложение ASP.NET хватает прав на создания и записи файла на диске?

    Avis de non-responsabilité:
    Mon opinion ne peut pas coïncider avec la position officielle de Microsoft.

    Bien cordialement, Andrei ...

    MCP

    25 января 2019 г. 0:02
    Модератор
  • На данный момент удостоверение используемого пула - учетка локального админа. (компьютер входит в домен). В целевой папке:

    Everyone, Administrators, Users, IIS IUSRS, SYSTEM, NETWORKSERVICE, Authenticated users и учетка IIS Application pool

    У перечисленных групп - Полный доступ


    25 января 2019 г. 7:15
  • РЕШЕНО - https://bloglisa.ru/?p=1419

    Решение: Зайти в редактор реестра, найти раздел HKEY_CURRENT_USER\Software\Microsof t\Windows\CurrentVersion\Explorer\User Shell Folders, в данном разделе найдите параметр “Cache” и измените его, например, на c:\temp (каталог temp на диске C: должен присутствовать). После изменения перезагружать компьютер не обязательно.

    P.S. Если данный вариант не поможет, то попробуйте изменить переменные окружения (системные и пользовательские) temp и tmp на c:\temp

    • Помечено в качестве ответа 4ph 25 января 2019 г. 14:29
    • Изменено 4ph 25 января 2019 г. 14:37
    25 января 2019 г. 14:29