Qt使用ODBC驱动程序连接到XLSX文件
Qt connect to XLSX file with ODBC driver
我有那个代码,我从Qt-wiki:中获得
QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
db.setDatabaseName("DRIVER={Microsoft Excel Driver (*.xls)};DBQ=" + QString("sht.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;
}
}
else {
qDebug() << db.lastError().text();
}
但它没有连接:(我不明白为什么:
[Microsoft][Driver Manager ODBC]未找到数据源名称,也未指定驱动程序,默认QODBC3:无法连接
需要指定完整路径并将全名设置为ODBC:
DRIVER={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};
和往常一样,堆叠毫无用处。这里的人只能回答一些愚蠢的问题,每一个真正的问题都会留在这里没有答案。
必须编译数据库驱动程序dll,并将其放在.exe文件附近名为"sqldrivers"的子文件夹中。在您的情况下,它应该是qsqlodbc*.dll。星号是Qt的主要版本号。
您需要为xlsx安装obdc-excel驱动程序,并将其添加到连接字符串中,而不是xls
或
您可以将excel文件保存为xls文件,并使用该文件(2003-2007 excel)
相关文章:
- .cpp和.h文件中的模板专用化声明
- 为什么两个不同的未命名名称空间可以共存于一个cpp文件中
- 文本文件中的单词链表
- CMake-按正确顺序将项目与C运行时对象文件链接
- 使用新行和不使用新行读取文件
- 在C++程序中输入的文本文件将不起作用,除非文本被复制和粘贴
- 挂起和取消挂起一个文件DLL
- 如何确定我已使用非编码文件到达 EOF?
- 命名空间中具有.h和.cpp文件的类
- 如何使用ndk-build.cmd构建Android.so文件
- 从包含m行的文件中提取n行,必要时(惰性地)重复该文件
- 读取文件并输入到矢量中
- 在C++中查找文件
- c++库的公共头文件中应该包含什么
- 将 c++ 输出写入 xlsx 文件
- 在 Windows 中自动将 xlsx 文件转换为多个 (MS-DOS) CSV 文件(每张一张一个)
- Qt使用ODBC驱动程序连接到XLSX文件
- Node.JS/C++/Python - 编辑 Excel .xlsx文件
- "Large" 使用 C++ Qt 和 Qt xlsx 模块读取 xlsx 文件
- 检查当前文件是否为doc、docx、xls、xlsx或pdf格式