文件上传后使用 oledb

Using oledb after fileupload

我在使用文件上传对话框后使用 oledb 引擎打开 excel 文件时遇到问题。如果我使用固定文件名为 oledb 连接设置文件名,它就可以工作,但是如果我尝试从文件上传控件获取文件名,我会收到错误 External table is not in the expected format。该文件未在其他应用程序中打开。我已尝试处理和关闭文件上传中的所有文件内容。我的代码如下

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();

如有任何帮助,我们将不胜感激。

先保存文件,然后使用保存的路径访问它。

FileUpload1.SaveAs(directory + @"\" + filename);