通过Qt5操作excel把数据导入mysql所遇到的错误解决方法

1 在.pro里添加 QT +=axcontainer,不是CONFIG +=qaxcontainer,qt5用qaxcontainer会报错

2 包含头文件时要用#include <ActiveQt/QAxObject>,不是#include <QAxObject>

3 下面展示的代码打开excel表格时可能会报错 QAxBase: Error calling IDispatch member Open: Unknown error

QAxObject* excel=new QAxObject(this);
    excel->setControl("Excel.Application");
    excel->setProperty("Visible",false);  //不显示窗口信息
    excel->setProperty("DisplayAlerts", false);//不显示任何警告信息。如果为true在关闭是会出现类似“文件已修改,是否保存”的提示
    QAxObject *workbooks = excel->querySubObject("WorkBooks");//获取工作簿集合
    workbooks->dynamicCall("Open (const QString&)",excelPath);//打开excel;

错误是由第六行引起的,如果把第三行的代码的false改成true就不会报错,但是程序会显示打开xls文件,如果想实现隐式的打开,我的这个电脑的解决方法很搞笑......感谢一个大佬的方法,看下面:

我这台电脑出现这个错误是因为福昕阅读器的关系,打开office卸载福昕的加载项就解决了,很无语,卸载方法如下:

  • 进入office安装文件夹,进入office12文件夹,用管理员权限打开excel(word PowerPoint都行)

 

把关于FoxitReader的插件都删除就好了,要用管理员权限打开,否则会告诉你没法删除

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值