我在使用文件上傳對話框後使用oledb引擎打開excel文件時出現問題。如果我使用固定文件名設置oledb連接的文件名,它將起作用,但是如果我嘗試從文件上傳控件獲取文件名,則會收到錯誤外部表格未處於預期格式。該文件未在另一個應用程序中打開。我已經嘗試處理和關閉文件上傳中的所有文件內容。我的代碼如下在文件上傳後使用oledb
if (FileUpload1.HasFile)
{
//sXLConnStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + strvirtpath + "\\Unlocked Upload-v5.xlsx " + ";Extended Properties=\"Excel 12.0 Xml;HDR=YES;IMEX=1\";";
sXLConnStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + strvirtpath + "\\" + FileUpload1.FileName + " ;Extended Properties=\"Excel 12.0 Xml;HDR=YES;IMEX=1\";";
FileUpload1.FileContent.Flush();
FileUpload1.FileContent.Close();
FileUpload1.FileContent.Dispose();
FileUpload1.Dispose();
}
OleDbConnection xlConn = new OleDbConnection(sXLConnStr);
xlConn.Open();
任何幫助,將不勝感激。
你能在Excel中手動打開上傳的文件嗎?在上傳過程中,它可能會被破壞。 –
我強烈建議使用EPPlus而不是Oledb來處理Excel文件。它功能更強大,易於使用。但是,它不支持舊的.xls格式,只有.xlsx https://www.nuget.org/packages/EPPlus/ –