我在OLEDB查询中遇到了两个问题。
(问题1)
我需要获取用户上传的Excel表格的列名。 我的Excel连接字符串为
connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+fileNameAndPath+";
Extended Properties=\"Excel 8.0;HDR=YES;IMEX=1\"";
然后我将使用这个命令。
connection.Open();
DataTable schemaTable = connection.GetSchema("Columns");
Taking column name from each datarow like this
string name = (string)row["COLUMN_NAME"];
如果Excel表格中列名在第一行出现,那么查询就可以正常工作。但如果列名不在第一行,则查询会将列名识别为"F1,F2,..."。有没有办法告诉查询从哪一行开始获取列名,以解决这个问题?请注意保留HTML标记。
(问题2)
与列标题类似,我需要从Excel中选择特定范围内的数据,例如从第3行到第12行取数据。因此,我使用了以下查询语句:
Select RepName, Country from [Sheet1$3:12].
但是它抛出了异常,消息是“一个或多个必需的参数没有给出值。”
我的查询语句是否有语法错误?
如果有,请问如何纠正查询语句?
F1
、F2
而不是Repname
和Country
来引用您的列名。 - Pynner