Qt框架提供了QAxObject类用以处理COM接口,使用此类需要添加axcontainer模块
QT += axcontainer
在窗口类的构造函数中初始化Excel的COM接口;也可以使其方便手动关闭激活向导,不关闭激活向导将导致后续接口无法正常调用。
pApplication = new Excel::Application;
QString str = pApplication->application->generateDocumentation();
writeTxt("E:/Application.html", str);
qDebug() << pApplication->Version();
pApplication->SetDisplayAlerts(false); //禁止显示警告弹窗
pApplication->SetVisible(true);
//!!!若Office未激活,这里会弹出激活向导,这样写方便手动关闭激活向导
//!不关闭激活向导将导致后续接口无法正常调用
pWorkbooks = pApplication->Workbooks();
if (pWorkbooks == Q_NULLPTR) {
return;
}