Pregunta

Tengo una función así:

   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
     }

Estoy usando la biblioteca de Microsoft. Interop para leer desde una hoja de Excel y guardarla en una base de datos. El problema aquí es que obtengo una excepción de "referencia de objeto que no se establece en una instancia de un objeto", cuando el código intenta abrir el libro de trabajo en IIS 8. Funciona bien en Visual Studio 2010. ¿Cuál podría ser el problema?

¿Fue útil?

Solución

Tuve que dar permiso al usuario de IIS para usar la aplicación. Cree una carpeta C: Windows Syswow64 config SystemProfile Desktop para sistemas de 64 bits y establezca la configuración de permiso para permitir el usuario de IIS.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top