QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
db.setDatabaseName("Driver={Microsoft Excel Driver (*.xls)};DBQ=E:\\test.xls");
bool bOpen = db.open();
这个是成功的
但把后缀都改为xlsx就失败了
QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
db.setDatabaseName("Driver={Microsoft Excel Driver (*.xlsx)};DBQ=E:\\test.xlsx");
bool bOpen = db.open(); 打开失败
------解决思路----------------------
qt 只支持xml为基础的xslx的Excel文件,也就是保存时要选择"Strick Open XML (*.xlsx)"。
使用方法:
QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
db.setDatabaseName("DRIVER={Microsoft Excel Driver (*.xls)};DBQ=" + QString("c:\\file.xlsx"));
if(db.open())
{
QSqlQuery query("select * from [" + QString("Sheet1") + "$]"); // Select range, place A1:B5 after $
while (query.next())
{
QString column1= query.value(0).toString();
qDebug() << column1;
}
}
具体可参考:http://qt-project.org/wiki/Handling_Microsoft_Excel_file_format
给分吧!我只有10分了, 贴子都不能发!谢谢了!
------解决思路----------------------
高版本的驱动串是不一样的: DRIVER={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)}