Qt对excel表内容的读取和写入操作可使用QAxObject来实现,但是在使用QAxObject实现excel读取时会经常出现无法打开文件的编译错误,如:
1.Error fatal error C1083: Cannot open include file: 'QAxObject': No such file or directory
2.Errorfatal error C1083: Cannot open include file: 'ui_qaxselect.h': No such file or directory
环境:vs2008+qt 4.8.0集成开发环境
综合网上资料,其解决办法如下:
1.如果什么都不设置时一般会出现问题1,这时候一般需要对Qt进行设置,步骤如下
菜单栏Qt->Qt project setting->勾选 activeQt container(一般qt project setting 默认勾选了Core Library 和Gui Library )
只有这样,创建的工程才能调用QAxObject。
2.在1的基础上再进行编译的话会出现问题2,问题2的解决比较繁琐
需要在安装qt opensoure的文件下找到 .srcactiveqtcontaine路径下的 qaxselect.ui 文件,在qt 中对这个ui文件进行编译后生成 ui_qaxselect.h文件放在工程目录下即可
C:\Qt\4.8.6\src\activeqt\container\qaxselect.ui
编译命令:uic qaxselect.ui -o ui_qaxselect.h
此时再编译工程文件,不会再出现以上的错误提示。
在vs2010中可以这样设置,手动添加QAxContainerd.lib库,对与比较老的qt版本
对于网上大家提出的在.pro文件添加CONFIG += qaxcontainer 的解决办法,尝试过,在执行1解决方案后,此操作没有任何影响。