在第一步的LOOP中我看到两个值,但是在excel中我有1.为什么?
任何帮助表示赞赏
代码是:
srcdb.setDatabaseName("DRIVER={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=" + QString(getSettings("folderpath") + '/' + file));
if(srcdb.open()) {
QSqlQuery query("SELECT * FROM [" + QString("Sheet1") + "$A1:A3]"); // Select range, place A1:B5 after $
while (query.next()) {
QString column = query.value(0).toString();
qDebug() << column;
}
}
答案 0 :(得分:0)
在wiki中找到了这个:
默认情况下,OBDC使用第一行作为列的名称,您可以 改变连接中的'FirstRowHasNames'选项 设置。请记住,您正在使用数据库和每个数据库 column有自己的数据类型。所以如果你的第二行包含文本和 你的第三行包含数字,sql将选择其中一种数据类型。 如果几行包含文本,其余行包含浮动 数字,sql将使文本出现并将使数字 消失。
这就是为什么“2”显示为第一个。