OleDbConnectionclosures方法需要很长的执行时间

conStr = String.Format(conStr, FilePath, isHDR); OleDbConnection connExcel = new OleDbConnection(conStr); OleDbCommand cmdExcel = new OleDbCommand(); OleDbDataAdapter oda = new OleDbDataAdapter(); DataTable dt = new DataTable(); cmdExcel.Connection = connExcel; //Get the name of First Sheet connExcel.Open(); DataTable dtExcelSchema; dtExcelSchema = connExcel.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); string SheetName = dtExcelSchema.Rows[0]["TABLE_NAME"].ToString(); connExcel.Close(); 

我正在使用上面的代码来读取excel。 但它卡在connExcel.Close(); 几秒钟,然后移动到下一个语句。 这导致在页面上延迟处理。 有什么build议么??

更新我的问题,以提供更多的细节。

testing用例: – 我上传了一个正常的时间xls文件。 我上传了一个xlsx文件,在connExcel.close()暂停了25秒。 现在我上传了一个xls文件,它也停止xls。

我使用了以下连接string

for xls: – connectionString =“Provider = Microsoft.Jet.OLEDB.4.0; Data Source = {0}; Extended Properties ='Excel 8.0; HDR = {1}'”

for xlsx: – connectionString =“Provider = Microsoft.ACE.OLEDB.12.0; Data Source = {0}; Extended Properties ='Excel 8.0; HDR = {1}'”