Microsoft Office Excel не может получить доступ к файлу 'c: \ inetpub \ wwwroot \ Timesheet \ App_Data \ Template.xlsx'

У меня есть следующий код: -

Microsoft.Office.Interop.Excel.Application oXL = null;
Microsoft.Office.Interop.Excel.Sheets sheets;
Application excel = new Microsoft.Office.Interop.Excel.Application();


excel.Workbooks.Add(System.Reflection.Missing.Value);

/*
    * Here is the complete detail's about Workbook.Open()
    * 
    *  Excel.Workbooks.Open(String Filename, Object UpdateLinks, Object ReadOnly, Object Format, 
    *  Object Password, Object WriteResPassword, Object IgnoreReadOnlyRecommended, Object Origin,
    *  Object Delimiter, Object Editable, Object Notify, Object Converter, Object AddToMru, Object Local, Object CorruptLoad)
    */

Workbook workbook = excel.Workbooks.Open(
    System.Web.HttpContext.Current.Server.MapPath("~/App_Data/Template.xlsx"),
    Missing.Value, true, Missing.Value, Missing.Value,
    Missing.Value, Missing.Value, Missing.Value,
    Missing.Value, Missing.Value, Missing.Value,
    Missing.Value, Missing.Value, Missing.Value,
    Missing.Value);
sheets = workbook.Worksheets;

Теперь строка: -

workbook = excel.Workbooks.Open(
    System.Web.HttpContext.Current.Server.MapPath("~/App_Data/Template.xlsx"),
    Missing.Value, true, Missing.Value, Missing.Value,
    Missing.Value, Missing.Value, Missing.Value,
    Missing.Value, Missing.Value, Missing.Value,
    Missing.Value, Missing.Value, Missing.Value,
    Missing.Value);

Он запускается непосредственно из визуальной студии (F5), но когда я пытаюсь получить к нему доступ с помощью IIS, он не работает. Выдает следующую ошибку: -

Microsoft Office Excel не может получить доступ к файлу c: \ inetpub \ wwwroot \ Timesheet \ App_Data \ Template.xlsx. Есть несколько возможных причин:
• Имя файла или путь не существует.
• Файл используется другой программой.
• Книга, которую вы пытаетесь сохранить, имеет то же имя, что и текущая открытая книга.

Я попробовал обойтись следующим образом: -

  • Папка и файл существуют, что дает доступ к IUSR _ ### (пользователь IIS ) и пользователю ASPNET в папке, где находится файл.
    • В службах компонентов (DCOM) предоставлен доступ соответствующему пользователю.

Я уже предоставил все разрешения для папки, в которой существует шаблон (.xlsx)

Есть предложения ??

44
задан Shubh 19 August 2016 в 07:57
поделиться