我在 OLEDB 查询中面临 2 个问题
(问题 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,.....”。我该如何解决这个问题?有什么方法可以告诉查询,从哪一行获取列名?
(问题 2)
像列标题一样,我需要从 excel 中选择特定范围内的数据。比如说从第 3 行到第 12 行取数据。所以我使用了这样的查询,
Select RepName, Country from [Sheet1$3:12].
但它抛出了异常,像这样的消息“没有为一个或多个必需参数提供值”。
我的查询中有语法错误吗?
如果是这样,任何人都可以告诉如何更正查询?