2.QT中操作word文档



  1. Qt/Windows桌面版提供了ActiveQt框架,用以为Qt和ActiveX提供完美结合。ActiveQt由两个模块组成:

    A   QAxContainer模块允许我们使用COM对象并且可以在Qt应用程序中嵌入QActive控件。

B   QAxServer模块允许我们导出使用Qt编写的自定义的COM对象和Active控件。

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


在头文件中包含QAxWidget和QAxObject。

  1. 操作步骤:

    A  新建一个word文档,内容如下:

    B  选中项目编码下的一个单元格,点击上面菜单栏中的
    ”插入à书签”,添加如下书签:

  2. 新建项目(ActiveQt)进行测试

ActiveQt.pro


SOURCES
+=
\

main.cpp

QT
+=
widgets gui
axcontainer


main.cpp

#include <QApplication>
#include <QAxObject>
#include <QAxWidget>
 
/**
 * 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的步骤:  
 */
 
int main(int argc,char *argv[])
{
    QApplication app(argc,argv);
 
    //新建一个word应用程序
    QAxWidget *word = new QAxWidget("Word.Application",0,Qt::MSWindowsOwnDC);
    //并设置为可见
    word->setProperty("Visible",true);
 
    //获取所有的工作文档
    QAxObject *documents = word->querySubObject("Documents");
    //以template.dot为模板新建一个文档
    documents->dynamicCall("Add(QString)",QString::fromLocal8Bit("E:/template.dot"));
    //获取当前激活的文档
    QAxObject *document = word->querySubObject("ActiveDocument");
 
    //获取文档中名字为code的标签
    QAxObject *bookmark_code = document->querySubObject("Bookmarks(QVariant)","code");
    //选中标签,将字符textg插入到标签位置
    if(!bookmark_code->isNull())
    {
        bookmark_code->dynamicCall("Select(void)");
        bookmark_code->querySubObject("Range")->setProperty("Text","textg");
    }
    //将文件保存为template.docx,同样可以生成doc文档
    document->dynamicCall("SaveAs (const QString&)",QString("E:/template.docx"));
    document->dynamicCall("Close (boolean)",false);
    word->dynamicCall("Quit()");
 
    return app.exec();
}

E
盘中的运行结果:

时间: 2024-11-05 20:42:19

2.QT中操作word文档的相关文章

c#中操作word文档-二、比较全的一份示例

最近两天研究了一下如何使用VS2008(C#语言)输出Word文档.以下是几点总结: 1.非常简单. 2.开发及运行环境要求.操作系统为:WindowsXP(安装.net framework2.0)/Vista/Win7:在操作系统必须安装Word2003完全安装版.这里必须要强调是Word2003完全安装版,因为软件开发及运行都需要一个com组件:Microsoft word 11.0 Object Library.如果不是Word2003完全安装版,可以下载这个com组件,并手动的安装这个c

c#中操作word文档-四、对象模型

转自:http://blog.csdn.net/ruby97/article/details/7406806 Word对象模型  (.Net Perspective) 本文主要针对在Visual Studio中使用C# 开发关于Word的应用程序 来源:Understandingthe Word Object Model from a .NET Developer's Perspective 五大对象 Application           :代表Microsoft Word应用程序本身 D

c#中操作word文档-一、模板方式写入

转载自:http://blog.csdn.net/fujie724/article/details/5443322 适合模板写入 今天正好有人问我,怎么生成一个报表式的Word文档. 就是文字的样式和位置相对固定不变,只是里面的内容从数据中读取. 我觉得类似这种的一般用第三方报表来做比较简便.但既然要求了Word,只好硬着头皮来. 网上的方法大多数都是从一个GridView或表中获得数据后向Word中添加一个表格. 但不方便实现下面的效果(图1).(以下插图可能需要CSDN用户登录后才能看到)

C# 中使用word文档对图像进行操作

C# 中使用Word文档对图像进行操作 Download Files: ImageOperationsInWord.zip 简介 在这篇文章中我们可以学到在C#程序中使用一个Word文档对图像的各种操作.图像会比阅读文字更有吸引力,而且图像是与内容紧密相关的.有时图像可以将内容描述的更为清晰,就像使用图表显示某一周期内的数据变化. Spire.Doc for .NET(http://www.e-iceblue.com/Introduce/Word-for-net-introduce.html)是

C#操作Word文档(加密、解密、对应书签插入分页符)

原文:C#操作Word文档(加密.解密.对应书签插入分页符) 最近做一个项目,客户要求对已经生成好的RTF文件中的内容进行分页显示,由于之前对这方面没有什么了解,后来在网上也找了相关的资料,并结合自己在MSDN上面的查找,后来总算把问题给解决掉啦.下面对C#操作Word文档(加密.解密.插入分页符)做一个简单的总结,希望对一些朋友有所帮忙吧.^_^ 写代码之前,需要引用对应的DLL文件: 1.Interop.Microsoft.Office.Interop.Word.dll  (网上可以下载)

c#操作Word文档

c#操作Word文档 using System; using System.Collections.Generic; using System.Linq; using System.Web; using Word = Microsoft.Office.Interop.Word; using System.Reflection; using System.Text.RegularExpressions; using System.IO; namespace WebWord { public cla

在Delphi中处理word文档与数据库的互联 1

在Delphi中处理word文档与数据库的互联 ---- 目前,Delphi被越来越多的人选中作为MIS系统开发中的前台工具.在以Delphi为前台,一些大型数据库为后台的MIS系统中,图形的处理不可避免:即从以Delphi开发的前台界面输入图形,并保存到相应的数据库字段中.在这种形式的图形处理中,BMP文件的处理比较简单,因为Delphi本身有Image和DBImage构件,用这些构件与数据库中可以保存图形的大型字段BLOB比较容易地进行数据交换.以这种方式进行图形处理已应用在许多MIS软件中

Asp.net操作Word文档,原来这么简单啊!

引用Word对象库文件  具体做法是打开菜单栏中的项目>添加引用>浏览,在打开的“选择组件”对话框中找到MSWORD.OLB后按确定即可引入此对象库文件,vs.net将会自动将库文件转化为DLL组件,这样我们只要在源码中创建该组件对象即可达到操作Word的目的! 如图 这会自动在你的应用程序文件夹中放置一个程序集(assembly)将COM接口邦定到Word. 上传并存储word文件 上传文件时首先通过上传控件找到所需上传的文件,然后获取文件的大小,最后以流的形式写入数据库 具体代码为 C#

VC操作WORD文档总结

一.写在开头 最近研究word文档的解析技术,我本身是VC的忠实用户,看到C#里面操作WORD这么舒服,同时也看到单位有一些需求,就想尝试一下,结果没想到里面的技术点真不少,同时网络上的共享资料很多,但是很多就是起了一个头没有完整的资料,因此在此记录一下,首先感谢怪兽哥哥(开源了了IOCP一整套开源库的家伙还有很多隐藏技能大家可以关注他).骨头哥(不少好资料).savageII哥(大牛)这些网友他们很有共享精神.废话不说了开始正题. 二.环境搭建 我用的VC2010,其实在VC6.0以上的版本设