利用QT生成Word文档

利用QT生成Word文档

ID:47474464

大小:60.42 KB

页数:9页

时间:2020-01-11

利用QT生成Word文档_第1页
利用QT生成Word文档_第2页
利用QT生成Word文档_第3页
利用QT生成Word文档_第4页
利用QT生成Word文档_第5页
资源描述:

《利用QT生成Word文档》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、前段时间因一个项目的需要,需要用Qt生成Word报告,网上查阅并借鉴了相关资料终于解决了基本的问题。本文档中主要是基本数据的填充、数据表格和图片几种类型,所以是用word模板(.dot)和书签进行操作。(网上看有种方法是利用宏来进行操作,表示不是很懂,哈哈)。一、主要方法1、根据报告要求,设计word模板,定义好需要插入数据的标签,调好其他固定内容的格式。(以保证数据插入后文档内容排列有序)2、编写word操作接口类,主要包括:打开、关闭、保存、插入文本、插入图片、插入表格、相关格式调整函数3、编写生成报告界面类,调

2、用接口函数生成word文档。二、接口函数WordEngine.h文件[cpp] viewplain copy1.#ifndef WORDENGINE_H  2.#define WORDENGINE_H  3.#include   4.#include   5.#include   6.class WordEngine : public QObject  7.{  8.    Q_OBJECT  9.public:  10.    WordEngine();  1

3、1.    ~WordEngine();  12.  13.    /// 打开Word文件,如果sFile路径为空或错误,则打开新的Word文档  14.    bool Open(QString sFile, bool bVisible = true);  15.  16.    void save(QString sSavePath);  17.  18.    void close(bool bSave = true);  19.  20.    bool replaceText(QString sLabel

4、,QString sText);  1.    bool replacePic(QString sLabel,QString sFile);  2.    //插入一个几行几列表格  3.    QAxObject *insertTable(QString sLabel,int row,int column);  4.    //插入一个几行几列表格 并设置表头  5.    QAxObject *insertTable(QString sLabel,int row,int column,QStringList he

5、adList);  6.    //设置列宽  7.    void setColumnWidth(QAxObject *table,int column, int width);  8.    void SetTableCellString(QAxObject *table, int row,int column,QString text);  9.  10.private:  11.  12.    QAxObject *m_pWord;      //指向整个Word应用程序  13.    QAxObject

6、 *m_pWorkDocuments;  //指向文档集,Word有很多文档  14.    QAxObject *m_pWorkDocument;   //指向m_sFile对应的文档,就是要操作的文档  15.  16.    QString m_sFile;  17.    bool m_bIsOpen;  18.    bool m_bNewFile;  19.};  20.  21.#endif // WORDENGINE_H  WordEngine.cpp文件[cpp] viewplain copy1.#

7、include "WordEngine.h"  2.#include "qt_windows.h"  3.WordEngine::WordEngine()  4.{  5.    m_pWord = NULL;  6.    m_pWorkDocuments = NULL;  7.    m_pWorkDocument = NULL;  8.  9.    m_bIsOpen = false;  10.    m_bNewFile = false;  11.  12.    HRESULT result = OleI

8、nitialize(0);  13.  14.    if (result != S_OK && result != S_FALSE)  15.    {  1.        qDebug()<

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。