|
请教大家一个用QT操作excel的问题,请大家不吝赐教
[复制链接]
最近项目上用到了上位机,于是我用QT5做了个上位机,上位机需要把一些数据写到EXCEL文件里,我参考网上的例子使用了QAxObject类。在打开EXCEL文件时,如果使用下面两句话来设置:
excel->dynamicCall("SetVisible(bool Visible)", "false");
excel->setProperty("DisplayAlerts", false);
在调用QAxObject* workbook = workbooks->querySubObject("Open(const QString&)", QDir::toNativeSeparators(file0)); 打开excel文件时会提示QAxBase: Error calling IDispatch member Open: Unknown error,打开失败。如果使用下面两句话来设置:
excel->dynamicCall("SetVisible(bool Visible)", "true");
//excel->setProperty("WindowState", "xlMinimized");
则能正常打开excel文件,但是如果EXCEL软件没破解的话,在打开excel文件后会弹出提示激活的界面,从而影响后续的读写操作,造成文件记录失败。我用的office版本是2013,QT版本是5.9,电脑系统是win7。我写的上位机软件在自己电脑上测试成功后,打包后拷到同事电脑上(他的电脑系统版本是win10,office版本是2016家庭版,正版已激活),就会出现问题。
不知道大家有没有遇到此类问题。
|
|