QT中操作word文档

这篇具有很好参考价值的文章主要介绍了QT中操作word文档。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

QT中操作word文档:

参考如下内容:
C++(Qt) 和 Word、Excel、PDF 交互总结

Qt对word文档操作总结

QT中操作word文档

Qt/Windows桌面版提供了ActiveQt框架,用以为Qt和ActiveX提供完美结合。ActiveQt由两个模块组成:
QAxContainer模块允许我们使用COM对象并且可以在Qt应用程序中嵌入QActive控件。
QAxServer模块允许我们导出使用Qt编写的自定义的COM对象和Active控件。

在这里,我们使用了QAxContainer模块,所以在.pro中,需要使用下面这一项来链接这个QAxContainer模块:CONFIG+=qaxcontainer(注意:在QT5.3中使用的是:QT += widgets gui axcontainer)。

在头文件中包含QAxWidget和QAxObject。

一、建立一个word模板,dot、dotx

新建一个word文档模板,内容如下:
QT中操作word文档,QT,qt,word,Com组件

选中项目下的一个单元格,点击上面菜单栏中的 ”插入书签”,添加如下书签:
QT中操作word文档,QT,qt,word,Com组件

二、编写测试代码

//新建一个word应用程序
    QAxWidget *word = new QAxWidget("Word.Application");
    if(word == NULL)
    {
        return 0;
    }

    //并设置为不可见
    word->setProperty("Visible", false);

    //获取所有的工作文档
    QAxObject *documents = word->querySubObject("Documents");
    if (documents == NULL)
    {
        return 0;
    }


    //以template.dotx为模板新建一个文档
    documents->dynamicCall("Add(QString)", QString("D:/template.dotx"));

    //获取当前激活的文档
    QAxObject *document = word->querySubObject("ActiveDocument");
    if (document == NULL)
    {
        return 0;
    }


    //获取文档中名字为Customer_Name的标签
    QAxObject *pCustomer_Name = document->querySubObject("Bookmarks(QVariant)", QString("Customer_Name"));
    //选中标签,将字符sText插入到标签位置
    if (!pCustomer_Name->isNull())
    {
        QString sText = "CJX";//此处为替换内容
        pCustomer_Name->dynamicCall("Select(void)");                             //选中要选中的区域
        pCustomer_Name->querySubObject("Range")->setProperty("Text", sText);      //进行替换操作
    }


    //获取文档中名字为Name的标签
    QAxObject *pName = document->querySubObject("Bookmarks(QVariant)", QString("Name"));
    //选中标签,将字符sText插入到标签位置
    if (!pName->isNull())
    {
        QString sText = "语文";//此处为替换内容
        pName->dynamicCall("Select(void)");                             //选中要选中的区域
        pName->querySubObject("Range")->setProperty("Text", sText);      //进行替换操作
    }

    //获取文档中名字为Number的标签
    QAxObject *pNumber = document->querySubObject("Bookmarks(QVariant)", QString("Number"));
    //选中标签,将字符sText插入到标签位置
    if (!pNumber->isNull())
    {
        QString sText = "100";//此处为替换内容
        pNumber->dynamicCall("Select(void)");                             //选中要选中的区域
        pNumber->querySubObject("Range")->setProperty("Text", sText);      //进行替换操作
    }


    //将文件保存为doc,同样可以生成docx文档
    QString pathsave = QApplication::applicationDirPath()+ "/template.docx";

    document->dynamicCall("SaveAs(const QString&))", QDir::toNativeSeparators(pathsave));
    document->dynamicCall("Close (boolean)", false);
    word->dynamicCall("Quit()");
    delete word;

最后附上测试文档链接:
https://download.csdn.net/download/cao_jie_xin/88753710文章来源地址https://www.toymoban.com/news/detail-808446.html

到了这里,关于QT中操作word文档的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Qt 调用 Microsoft Excel 组件生成 Excel 文档

    在.pro文件中添加模块: 参考界面:界面中只有一个 pushButton 按钮。 参考代码: mainwindow.h: mainwindow.cpp: 程序执行效果:会在桌面生成一个data.xlsx文档,打开此文档后显示如下信息: 注意:若你的电脑安装的是 WPS ,没有安装 Office,那么使用 WPS 中的 Excel 也是完全没问题的

    2024年02月15日
    浏览(43)
  • Qt (高仿Visio)流程图组件开发(七) 流程图 简单操作界面搭建

    Qt (高仿Visio)流程图组件开发(一) 效果展示及基本开发框架构思 Qt (高仿Visio)流程图组件开发(二) 基本图元绘制 图元间连线绘制 Qt (高仿Visio)流程图组件开发(三) 图元基类如何定义,流程图多种图元类型实现 Qt (高仿Visio)流程图组件开发(四) 流程图 图元

    2023年04月25日
    浏览(45)
  • 【VS Code 与 Qt6】运用事件过滤器批量操作子级组件

    如果某个派生自 QObject 的类重写 eventFilter 方法,那它就成了事件过滤器(Event Filter)。该方法的声明如下: watched 参数是监听事件的对象,即事件的接收者;event 参数当然就是待处理的事件了。事件过滤器(也可以翻译为“筛选器”)可在接收者之前拦截事件,处理完毕后还

    2024年02月08日
    浏览(44)
  • Qt 导出word

    qt导出可以利用QAxObject去导出word或者excel等。 QAxObject主要是调用QAxObject的 querySubObject、dynamicCall、setProperty等方法,其中方法的参数属性,可以通过word官网查询,具体属性怎么用,暂时也没找到有相应文档,有需要可以结合office官方文档属性和下面分享的或者网上找下资料的

    2024年02月13日
    浏览(27)
  • 使用Python的win32com库实现对Word的操作

    win32com库是Python中的一个扩展库,它提供了与Microsoft Office应用程序进行交互的功能。在本篇博客中,我们将重点介绍如何使用win32com库来操作Word文档。使用win32com库可以方便地打开、创建、保存和编辑Word文档,以及进行格式化和布局等操作。 要使用win32com库,首先需要安装它

    2024年02月06日
    浏览(28)
  • QT技术实现Word模板编辑及转PDF

    本文详细介绍了如何使用QT技术进行Word模板的编辑,包括添加书签、替换文本和图片等操作,以及如何将Word文档转换为PDF格式。

    2024年02月12日
    浏览(39)
  • [Python进阶] Python操作word:win32com、python-docx

    7.5.1 通过win32com操作 7.5.1.1 新建word并写入内容 7.5.1.2 读取word 离离原上草,岁晚霜霰滋。 与子为兄弟,生世逢乱离。 漂荡各分散,生死安得知。 乐土叹无食,南州叹无衣。 良时幸休明,天路开清夷。 翩翩两鸿鹄,振翼思奋飞。 一留故山树,一望云中涯。 东西各异势,顾影

    2024年02月02日
    浏览(32)
  • linux LPT和COM回路测试(基于python+Qt+C++)

    软件UI: 回路治具(COM+LPT): lpt_test.cpp(c++ 源代码):

    2024年01月21日
    浏览(35)
  • Qt串口通信学习文档

    这是官方文档,我也在学习。  QSerialPort Class | Qt Serial Port 5.15.14 https://doc.qt.io/qt-5/qserialport.html

    2024年02月11日
    浏览(35)
  • 【方法】PDF可以转换成Word文档吗?如何操作?

    很多人喜欢在工作中使用PDF,因为PDF格式可以准确地保留文档的原始格式,比如字体、图像、布局和颜色等。 但如果编辑文档的话,PDF还是没有Word文档方便。那可以将PDF转换成Word格式,再来编辑吗?如何操作呢?下面小编就来分享两个方法。 方法一:使用PDF编辑器 PDF编辑

    2024年02月14日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包