今天在寫一個把Excel導入到數據的時候報了一個異常“外部表不是預期的格式。”
於是到網上搜了一下,我寫的着個strConn只試用於office2003版的。而我的是office2010版的。所以這樣寫是會出現異常的。針對不同的office版本也有不同的寫法。
Office2003(Microsoft.Jet.Oledb.4.0)
string strConn = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'", strExcelFileName);
Office2007(Microsoft.ACE.OLEDB.12.0)
string strConn = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'", strExcelFileName);
Office2010(Microsoft.ACE.OLEDB.12.0)
string strConn = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties='Excel 12.0;HDR=Yes;IMEX=1;'", strExcelFileName);
還要一個就是“HDR=Yes”這個問題,如果HDR的值是Yes,那么第一行是被當做列名的,不會被導入。只有為“No”才可以被當做數據導入。