Microsoft Interop Library: Não é possível abrir a pasta de trabalho do Excel no IIS8

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

  •  25-08-2022
  •  | 
  •  

Pergunta

Eu tenho uma função assim:

   public static void ProcessWorkSheet(string fileName, string month, string year,
     string thread)
    {
        //version number location
        int version_row = 10;
        int version_column = 2;

        SeedsDBEntities db = new SeedsDBEntities();

        try
        {
            //Instance of Excel
            ExcelApp = new Microsoft.Office.Interop.Excel.Application();

            ExcelApp.Visible = true;

            ExcelApp.DisplayAlerts = false;

            WorkBook = ExcelApp.Workbooks.Open(@fileName, 0, false, 5, "", "", false, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false);
            (Microsoft.Office.Interop.Excel.Worksheet)WorkBook.Worksheets.get_Item(month);
                    .
                    .

            //the rest of the code
     }

Estou usando a Microsoft.Interop Library para ler em uma planilha do Excel e salvá -la em um banco de dados. A questão aqui é que eu recebo uma "referência de objeto não definida como uma instância de um objeto", exceção quando o código tenta abrir a pasta de trabalho no IIS 8. Ele funciona bem no Visual Studio 2010. Qual poderia ser o problema.

Foi útil?

Solução

Eu tive que dar à permissão do usuário do IIS para usar o aplicativo. Crie uma pasta C: Windows Syswow64 Config SystemProfile Desktop para sistemas de 64 bits e defina as configurações de permissão para permitir o usuário do IIS.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top