用QAxObject打开excel出错

lishadowl 2019-11-28 10:17:41
报错信息
CoCreateInstance failure (请求的操作需要提升。)
QAxBase::setControl: requested control Excel.Application could not be instantiated
QAxBase::dynamicCallHelper: Object is not initialized, or initialization failed
报错的代码

excel = new QAxObject("Excel.Application");//出现第一,二条报错
excel->setProperty("Visible", false);
QAxObject *workbooks = excel->querySubObject("Workbooks");//第三条报错
QAxObject* workbook = workbooks->querySubObject("Open(const QString&)", "某excel文件");//内存错误,目测越界

也就是说从第一句就开始出问题了,查到的方法基本都试过了,是不是和我用的盗版win8.1有关系……或者x64,x86系统的问题?excel的访问权限也调过了,dcomcnfg组件服务里面没找到excel(好像是因为excel是32位),之后用mmc -32调出来了,但是dcomcnfg里面没有excel的路径,各种创建QAxObject的方法也都试过,应该就是"Excel.Application"输进去没用,也就是查到的各种通过QAxObject使用excel的方法全部卡死在第一步了。我用5.12.0(64位mingw)和5.5.1(32位mingw)都是一样的情况。
...全文
2144 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_44717825 2022-06-29
  • 打赏
  • 举报
回复

你好我的问题是在最后一行总是获得workbook为空,请问是为什么?

lishadowl 2019-11-29
  • 打赏
  • 举报
回复
还是不对……依然有问题……报错从请求的操作需要提升变成了(系统找不到指定的文件。)……头快炸了……
lishadowl 2019-11-29
  • 打赏
  • 举报
回复
OK,问题解决了,我的excel.application接口有问题,下了个新的office把问题解决了,盗版要不得啊……

21,491

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧