我正在使用Excel数据阅读器从excel文件中读取数据 .
FileStream stream = File.Open(filePath,FileMode.Open,FileAccess.Read); // 1 . 从二进制Excel文件读取('97 -2003格式; * .xls)IExcelDataReader excelReader = ExcelReaderFactory.CreateBinaryReader(stream); // 2 . 从OpenXml Excel文件读取(2007格式; * .xlsx)IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream);
http://exceldatareader.codeplex.com/
这在我的本地机器上读取excel 1997-2003格式和excel 2007格式,当我们将它移动到我们的测试服务器时 .
但是,当转移到 生产环境 时,它适用于excel 97-2003文件,但是当我尝试读取2007文件时,我收到以下错误:
访问路径'C:\ Documents and Settings \ PORTALS03 \ ASPNET \ LOCALS~1 \ Temp \ TMP_Z129388041687919815'被拒绝 .
如何才能读取97-2003 excel文件但是2007文件丢弃访问被拒绝了?
2 回答
我将在这里猜测你可能没有关闭或处理excel数据阅读器 .
或者您没有正确处理创建该临时文件的代码 .
如果没有看到用于生成和读取文件的代码,则无法确定 .
我发现,Excel Data Reader会创建它所读取的Excel文件的Temp Files . 错误听起来没有给存储这些Temp文件的目录的权限 . 所以Excel Reader无法完成它的工作 .