我正在尝试在我的应用程序中上传一个 excel(.xlsx) 文件,该文件是由同一个应用程序通过 open xml sdk 创建的。我面临着异常“外部表不是预期格式”。但是,如果我手动打开文件并保存并重试,它会被上传而没有任何错误。有没有办法以编程方式执行打开 excel 文件并保存的任务?我不能要求我的用户/客户遵循这个解决方法。任何线索都会有所帮助。下面是引发异常的代码片段。'con.open()' 行正在引发上述异常。请找到使用的连接字符串
private readonly string connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=\"Excel 12.0 Xml;HDR=Yes;MAXSCANROWS=0;IMEX=1\";";
public DataTable GetSheetData(string sheetName)
{
System.IO.FileInfo fileInfo = new System.IO.FileInfo(this.filePath);
DataTable excelData = new DataTable();
excelData.Locale = CultureInfo.InvariantCulture;
using (OleDbConnection con = new OleDbConnection(string.Format(CultureInfo.CurrentCulture, this.connectionString, this.filePath)))
{
con.Open();
if (!string.IsNullOrEmpty(sheetName))
{
using (OleDbDataAdapter dataAdapter = new OleDbDataAdapter(string.Format(CultureInfo.CurrentCulture, "select * from [{0}$]", sheetName), con))
{
dataAdapter.Fill(excelData);
}
}
}
return excelData;
}