我有一个功能:
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上运行良好。可能是什么问题。
答案 0 :(得分:0)
我必须授予IIS用户使用该应用程序的权限。为64位系统创建文件夹C:\ Windows \ SysWOW64 \ config \ systemprofile \ Desktop,并将权限设置设置为允许IIS用户。