2011-01-06 172 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無法完成其工作。