如何强迫ADO.NET推断Excel列的types为String而不是Double?

我有一个包含string和数字的Excel文件中的列。 我通过反复试验发现,ADO.NET根据前8行单元格的types推断列的types。 当发生这种情况时,列下的所有string都不会被添加到DataTable中。

我的目标是让ADO.NET以string的forms读取该列下的值。

如何做到这一点?

添加imex = 1到您的连接string类似于:

string sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + savePath + "; Extended Properties=" + (char)34 + "Excel 8.0;IMEX=1;" + (char)34; 

IMEX参数(1是input模式)强制列的数据types为文本,以便正确处理字母数字值。