2011-01-06 174 views
1

我正在使用Excel数据阅读器从Excel文件中读取数据。Excel 2010访问路径被拒绝temp

FileStream stream = File.Open(filePath, FileMode.Open, FileAccess.Read);
//1. Reading from a binary Excel file ('97-2003 format; *.xls)
IExcelDataReader excelReader = ExcelReaderFactory.CreateBinaryReader(stream);
//2. Reading from a OpenXml Excel file (2007 format; *.xlsx)
IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream);

http://exceldatareader.codeplex.com/

这读取Excel的格式1997-2003和excel我的本地机器上2007格式,当我们将它移动到我们的测试服务器。

但是,当移动到生产,它的工作原理为Excel 97-2003文件,但是当我尝试阅读2007个文件我收到以下错误:

访问路径“C:\ Documents和Settings \ PORTALS03 \ ASPNET \ LOCALS〜1 \ Temp \ TMP_Z129388041687919815'被拒绝。

如何才能读97-2003 excel文件,但2007文件抛出访问被拒绝?

回答

1

我在这里猜测你可能没有关闭或处置excel数据读取器。

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

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

0

我发现,Excel数据读取器创建它读取的Excel文件的临时文件。 错误听起来像没有权限给这些Temp文件存储的目录。 因此,Excel Reader无法完成其工作。