2012-08-23 47 views
1

我在包含字符串和數字的Excel文件中有一列。通過反覆試驗發現,ADO.NET根據前8行單元格的類型推斷列的類型。當發生這種情況時,列下的所有字符串都不會被添加到DataTable中。ADO.NET如何強制將Excel列的類型推斷爲String而不是Double?

我的目標是讓ADO.NET以字符串的形式讀取該列下的值。

如何做到這一點?

+0

我發現它只採樣前8行。 http://support.microsoft.com/kb/281517 – Paparazzi

+0

這一切都取決於註冊表設置和IMEX。你需要檢查TypeGuessRows。 0(零)表示所有行。 – Fionnuala

+0

查看@ onedaywhen的回答http://www.dotnet247.com/247reference/msgs/37/187667.aspx – Fionnuala

回答

1

附加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是輸入模式)迫使列的數據類型爲文本,使得字母數字值被正確地處理。

相關問題