1
我在包含字符串和數字的Excel文件中有一列。通過反覆試驗發現,ADO.NET根據前8行單元格的類型推斷列的類型。當發生這種情況時,列下的所有字符串都不會被添加到DataTable中。ADO.NET如何強制將Excel列的類型推斷爲String而不是Double?
我的目標是讓ADO.NET以字符串的形式讀取該列下的值。
如何做到這一點?
我在包含字符串和數字的Excel文件中有一列。通過反覆試驗發現,ADO.NET根據前8行單元格的類型推斷列的類型。當發生這種情況時,列下的所有字符串都不會被添加到DataTable中。ADO.NET如何強制將Excel列的類型推斷爲String而不是Double?
我的目標是讓ADO.NET以字符串的形式讀取該列下的值。
如何做到這一點?
附加IMEX = 1至類似於連接字符串:
string sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source=" + savePath +
"; Extended Properties=" + (char)34 + "Excel 8.0;IMEX=1;"
+ (char)34;
的IMEX參數(1是輸入模式)迫使列的數據類型爲文本,使得字母數字值被正確地處理。
我發現它只採樣前8行。 http://support.microsoft.com/kb/281517 – Paparazzi
這一切都取決於註冊表設置和IMEX。你需要檢查TypeGuessRows。 0(零)表示所有行。 – Fionnuala
查看@ onedaywhen的回答http://www.dotnet247.com/247reference/msgs/37/187667.aspx – Fionnuala