报错信息
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)都是一样的情况。