Libreria interop Microsoft: Impossibile aprire la cartella di lavoro Excel in IIS8

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

  •  25-08-2022
  •  | 
  •  

Domanda

Ho una funzione così:

   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
     }

Sto usando la libreria Microsoft.Interop per leggere da un foglio Excel e salvarlo in un database. Il problema qui è che ottengo un "riferimento dell'oggetto non impostato su un'istanza di un oggetto" quando il codice cerca di aprire la cartella di lavoro su IIS 8. Funziona bene su Visual Studio 2010. Quale potrebbe essere il problema.

È stato utile?

Soluzione

Ho dovuto dare il permesso dell'utente IIS per utilizzare l'applicazione. Crea una cartella C: Windows Syswow64 config SystemProfile Desktop per sistemi a 64 bit e imposta le impostazioni di autorizzazione per consentire l'utente IIS.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top