Excel 2010访问path被拒绝临时

我正在使用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格式,以及我们将其移至我们的testing服务器时的格式。

但是,转移到生产时,它适用于Excel 97-2003文件,但是当我尝试读取2007文件时收到以下错误:

访问path“C:\ Documents and Settings \ PORTALS03 \ ASPNET \ LOCALS〜1 \ Temp \ TMP_Z129388041687919815”被拒绝。

97-2003 excel文件怎么可能被读取,但2007文件被拒绝访问呢?

我要在这里猜测你可能没有closures或处理excel数据读取器。

或者您没有正确处理创build临时文件的代码。

没有看到你用来生成和阅读文件的代码,这是不可能肯定的说。

我发现,Excel数据读取器创build它读取的Excel文件的临时文件。 错误听起来像没有给这些Temp文件存储的目录的权限。 所以Excel Reader不能完成它的工作。