Qt提供QAxObject操作Word文档,准备工作1.Qt pro文件中加入QT += axcontainer2.电脑上至少有Word或者WPS/******************************************************************** @brief: 通用的word操作类,报告创建一个word,保存,打印,表格操作,字体操作...
该软件仿照微软的Office Word办公软件,使用Qt开发,具备以下功能:
1.支持多文档同时编辑, 多文档可平铺或层叠显示, 保存的文件格式为htm和html;
2.菜单栏和工具栏具有基本的Word文档功能:
a) 文件有新建、打开、保存、打印等功能;
b) 文件编辑有撤销、重做、复制、剪切、粘贴的功能;
c) 文本编辑格式有:字体(粗体、下划线、斜体)、字体大小、字体颜色、段落(左对齐、居中、右对齐)等.
qt导出可以利用QAxObject去导出word或者excel等。
QAxObject主要是调用QAxObject的 querySubObject、dynamicCall、setProperty等方法,其中方法的参数属性,可以通过word官网查询,具体属性怎么用,暂时也没找到有相应文档,有需要可以结合office官方文档属性和下面分享的或者网上找下资料的,依葫芦画瓢,找规律试一试。
下面先分享导出word的一些常用属性。
Test案例
首先在.pro文件中需要加入:QT += axcontainer
//这个事在书签处添加的内容
QString text = "王洪";
QAxWidget word("Word.Application"); //调用word组件
word.setPropert
// 通过标签名来获得指定标签对象
QAxObject *pBookMarkCode = m_document->querySubObject("Bookmarks(QVariant)", name);
// 通过标签名的位置顺序获得标签对象
QAxObject *pBookMarkCode = m_document->querySubObject("Bookmarks(QVariant)", 1);//获得第一个标签
// 选择指定标签(说实话不知道干啥的)
pBookMarkCode-&
目录简介说明操作DOCX文件提前处理文档--打开word文件修改标签对应值修改表格数据插入图片操作结束 打印或者另存文档操作EXECL文件打开execl文件新增 sheet表指定sheet页 插入图片修改对应值修改页码数结束操作 打印或者另存文档扩展 录制宏
Qt/Windows桌面版提供了ActiveQt框架,用以为Qt和ActiveX提供完美结合。ActiveQt由两个模块组成:
QAxContainer模块允许我们使用COM对象并且可以在Qt应用程序中嵌入QActive控件。
QAxSer
之前做的项目需要用Qt创建并输出word文件作为报告,但是报告格式比较复杂。搜索网上资源后发现,仅凭Qt的API难以实现复杂的格式,尤其是表格嵌套很是麻烦。最后的方案选择用先手动创建word模板,并在固定位置加书签,最后用Qt的API在书签处插入表格,填充数据。网上搜了下未找到在书签处插入表格的方法,自己尝试了下,发现还是可以做到的,样例代码如下:
#include <QAxOb......
最近在做QT导出word报表,发现网上的资源不是很多,也浪费了很多时间,我自己做了一份demo,将会详细讲述如何做出需要样式的报表。在网上很容易查到java或者其他语言操作word的接口函数,但是QT能操作word的,不是很多,而且还不太好用。我把自己已经调试出来的代码,贡献出来,免得以后浪费时间。如果有错误的话,可以联系我。我的邮箱地址:leiluo1894@126.com.
写了一部分接口函
由于项目需要通过dot模板导出doc的文档,所以就查了资料写了一个操作word 的类,只实现了部分功能,其代码如下:#include "wordengine.h"
#include "qt_windows.h"WordEngine::WordEngine(QObject *parent) :
QObject(parent),
m_bOpened(false),
m_wordD