在c#項目中導入Excel數據的時候,需要連接Excel的各個版本已滿足需求,不得不做Excel各個版本的處理。
string fileExt = Path.GetExtension(excelPath);
string conn = "";
if (fileExt == ".xls")
{
conn = "Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source =" + excelPath + ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1'";
}
else
{
conn = "Provider = Microsoft.ACE.OLEDB.12.0 ; Data Source =" + excelPath + ";Extended Properties='Excel 12.0;HDR=Yes;IMEX=1'";
}
03和07及以上版本的引擎不同,03是Microsoft.Jet.OLEDB.4.0 ,07及以上是Microsoft.ACE.OLEDB.12.0 。
還發現一個小差別就是Microsoft.Jet.OLEDB.4.0引擎的Excel文檔行索引從1開始,而Microsoft.ACE.OLEDB.12.0 的行索引從0開始。