qt集成office功能
1、这里只介绍在vs2013集成qt开发环境的情况,如果没有该环境,请从网上百度搜索vs2013和QT下载,自行安装


2、这里介绍一个office的控件,是微软官方提供的一个控件,可以集成的到程序中去,是个非常强大的控件,如果要了解详细的介绍,可以去百度

3、dsoframer控件提供可以安装的版本,下载dsoframer.ocx,安装完成
当然也可以下载免安装的,自己注册ocx控件,


4、QT调COM,是通过 QAxWidget来实现的,如果想深入了解这个自己百度学习,这里不作深入介绍,直接跳过讲主题

5、我直接贴上测试代码,这段代码就可以直接将dsoframer.ocx集成在程序中了,非常简单方便,通过参数传入office文档的路径,直接打开就可以了
bool testopenoffice(QWidget* window, QString filestr)
{
QAxWidget* activexwidget = new QAxWidget(window, Qt::Dialog | Qt::FramelessWindowHint);
try{
if (!activexwidget->setControl("{00460182-9E5E-11d5-B7C8-B8269041DD57}"))
{
return false;
}
activexwidget->resize(QSize(480, 320));
activexwidget->setProperty("Titlebar", false);
activexwidget->setProperty("Menubar", false);
activexwidget->setProperty("Toolbars", true);
activexwidget->setProperty("Visible", true);
activexwidget->show();
activexwidget->dynamicCall("Open(string)", filestr);
}
catch (...){
}
return true;
}

6、注意事项:
1)、因为使用到了 QAxWidget的功能,需要另外再链接
Qt5AxContainerd.lib
Qt5AxBased.lib
QT库,具体参考下面的截图
2)、记得包以下的含头文件
#include <QAxWidget>
#include <QAxObject>
3)、记得电脑要安装office程序,如果没装是打不开的
