2010-05-20 25 views
0

我想在我的aspx頁面中使用HTML輸入文件類型以允許用戶瀏覽Excel文件,然後閱讀內容的Excel表格。如果我想讀取Excel表格,我需要使用asp.net連接到Excel工作表的文件的完整路徑。我不明白如何獲取文件的完整路徑。獲取使用HTML輸入文件類型上傳文件的完整路徑以獲取文件內容的問題

我知道我可以使用postingFile.FileName屬性獲取文件名。但我需要文件的完整路徑。

有人可以幫我解決這個問題。

謝謝。

回答

0

有沒有這樣的概念文件的完整路徑。服務器無法知道文件在客戶端計算機上的存儲位置。您在ASP.NET應用程序中可以知道的所有內容都是文件名和上傳文件的內容。

+0

感謝您的答覆。如果是這種情況是有辦法我可以讓用戶瀏覽Excel工作表並閱讀它的內容編程使用asp.net/C#? – kranthi 2010-05-20 15:34:28

+0

當然,你在你的aspx頁面中放置了一個'FileUpload',允許用戶在提交表單時瀏覽和選擇存儲在他的計算機上的文件並將其上傳到服務器。一旦在服務器上使用'Files'集合來讀取所有發佈的文件名和內容。您使用'PostedFile.InputStream'包含文件的流。 – 2010-05-20 15:37:09

+0

你是否指的是asp.net文件上傳控件?如果是這樣,使用HTML輸入文件類型無法實現相同的功能? – kranthi 2010-05-20 15:38:47

0

您可以使用OpenXml SDK(http://msdn.microsoft.com/en-us/library/dd608815(office.14).aspx)以編程方式直接從fileupload流打開Excel工作表。

using DocumentFormat.OpenXml.Packaging; 
using DocumentFormat.OpenXml.Spreadsheet; 
using DocumentFormat.OpenXml; 

FileUpload fu = (FileUpload)Page.FindControl("fuExcel"); 
using (SpreadsheetDocument uploadedWorkbook = 
SpreadsheetDocument.Open(fu.FileContent, true)) 
{ 
    //interrogate the file here 
} 

FileUpload控件不提供有關文件上傳路徑的任何信息。你得到:

  • 文件的名稱(也就是abc.xyz, 剝離任何路徑信息),如文件名
  • 文件內容的流作爲FileContent
  • 字節的數組文件爲FileBytes
相關問題