2016年5月15日 星期日

Microsoft.Ace.OleDb C# 開啟Excel發生例外錯誤

問題:c# 開啟Excel發生例外錯誤,「Source: Microsoft JET Database Engine, ErrorMessage: 定義太多欄位。」

實測:

//此連接可以操作.xls與.xlsx文件
Provider=Microsoft.Ace.OleDb.12.0;data source=excelFile;Extended Properties='Excel 12.0; IMEX=1'

結果:Microsoft.Ace.OleDB.12.0 Fill()函式可以讀取最多可 255 欄位,超過的部分則不予讀取,只Fill到255欄,不會丟出例外錯誤。

image

image若可以讀到IV欄,則會顯示欄名「讀取不到」,但只讀到IU欄。

image

 

//此連接只能操作Excel2007之前(.xls)文件
Provider=Microsoft.Jet.OleDb.4.0;data source=excelFile;Extended Properties='Excel 8.0; IMEX=1'

結果:Microsoft.Jet.OleDb.4.0 Fill()函式可以讀取最多可 255 欄位,超過則發生例外錯誤「定義太多欄位。」

沒有留言: