Microsoft Interop Library:无法在IIS8中打开excel工作簿

时间:2013-12-03 14:33:56

标签: c# asp.net excel

我有一个功能:

   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
     }

我正在使用Microsoft.Interop库从Excel工作表中读取并将其保存到数据库中。这里的问题是,当代码尝试在IIS 8上打开工作簿时,我得到“对象引用未设置为对象的实例”异常。它在visual studio 2010上运行良好。可能是什么问题。

1 个答案:

答案 0 :(得分:0)

我必须授予IIS用户使用该应用程序的权限。为64位系统创建文件夹C:\ Windows \ SysWOW64 \ config \ systemprofile \ Desktop,并将权限设置设置为允许IIS用户。