Question

J'ai une fonction ainsi:

   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
     }

J'utilise la bibliothèque Microsoft.interop pour lire à partir d'une feuille Excel et l'enregistrer dans une base de données. Le problème ici est que j'obtiens une "référence d'objet non définie sur une instance d'un objet" Exception lorsque le code essaie d'ouvrir le classeur sur IIS 8. Il fonctionne bien sur Visual Studio 2010. Quel pourrait être le problème.

Était-ce utile?

La solution

J'ai dû donner l'autorisation de l'utilisateur IIS pour utiliser l'application. Créez un dossier C: Windows Syswow64 config systemProfile Desktop pour les systèmes 64 bits et définissez les paramètres d'autorisation pour permettre l'utilisateur IIS.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top