当列名是一个数字时,使用VB.NET中的ADO查询Excel

我正在使用VB.NET通过SQL查询使用ADO的Excel电子表格。

一般的方法是这样的:

SELECT [firstname], [secondname] FROM [Sheet1$] 

这是完美的
然而,其中一个标题被称为3,所以我想这样做:

 SELECT [firstname], [secondname], [3] FROM [Sheet1$] 

但是,这是行不通的。 我知道我可以使用*来获取所有的列,但后来我想使用(使用dataReader):

dr("3")这将无法正常工作

有任何想法吗?

在连接string中使用(或暗示) HDR=YES时,非法列名称将replace为附加字母F的列顺序位置。

例如,如果名为3的列是Excel范围中的第五列,那么它的名称将被视为F5