我有一个网站(转换excel为xml)。当我在我的机器上运行时,一切都正常。但是当我通过IIS运行我的网站时。它存在问题:未将对象引用设置为对象实例。
下面是我的代码:
string filename = Server.MapPath("~/Uploads/" + Request.QueryString["Name"]);
string[] sheet = _ReadExcel.getSheetNames(filename);
for (int i = 0; i < sheet.Length; i++)
{
}异常详细信息: System.NullReferenceException:未将对象引用设置为对象的实例。
请给我一些解决方案。谢谢
发布于 2013-03-18 11:17:36
在对对象调用sheet.length之前,需要将sheet设置为object。
发布于 2013-03-18 11:53:39
// Connect to Excel files
System.Data.OleDb.OleDbConnection MyConnection ;
System.Data.DataSet ds ;
System.Data.OleDb.OleDbDataAdapter MyCommand ;
MyConnection = new System.Data.OleDb.OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;Data Source='D:\\18.xls';Extended Properties=Excel 8.0;");
MyCommand = new System.Data.OleDb.OleDbDataAdapter("select * from [Sheet1$]", MyConnection);
MyCommand.TableMappings.Add("Table", "Product");
ds = new System.Data.DataSet();
MyCommand.Fill(ds);
MyConnection.Close();
// Write to xml
ds.WriteXml("Product.xml");对Generate Excel from XML and Generate XML from Excel的引用
发布于 2013-03-18 11:59:52
您需要检查filename是否有正确的路径指向您的excel文件。
如果该路径是正确话。您需要将网络服务帐户的权限授予您尝试读取或写入的文件夹。
不确定_ReadExcel.getSheetNames方法中的内容,但它将“null”值返回给“filename”输入。您需要通过在visual studio中附加IIS进程来调试应用程序。然后,您就可以在IIS上运行时找到问题所在。
在IIS上调试的步骤:
https://stackoverflow.com/questions/15469231
复制相似问题