在Qt中使用已有模板创建新Word文档

在这篇帖子中我将详细讲述如何在Qt环境下使用已有Word模板文件创建新的文档,并对模板文档内容填充。目前,我只对替换文字和对表格进行操作进行了介绍,如何在文档插入图片未在本文中提及。

开发环境

本文中使用的开发环境是Qt5.10.0。由于本文中的实现方式是通过COM组件操作Word,需要在.pro文件中添加QT += axcontainer,在Qt4的版本中与Qt5是有点区别的,在Qt4中添加CONFIG += qaxcontainer。

从代码中看过程

多余的就不说了,具体过程看注释吧。

WordEngine.h

#ifndef WORDENGINE_H
#define WORDENGINE_H

#include <QObject>
#include <QAxObject>
#include <QAxWidget>

class WordEngine : public QObject
{
    Q_OBJECT
public:
    explicit WordEngine(QObject *parent = 0);

public slots:
    bool open(const QString &file);//打开文档
    void save(const QString &savePath);//保存并关闭文档

    void replaceText(const QString &label,const QString &text);//替换文档中标签出的文字
    void alterTableRowCount(const QString &tabel, const int rowCount);//在表个中添加新行
    void fillTableCell(const QString &tabel,const QList<QStringList> &data);//填充表格内容

private:
    QAxWidget *_word;//word主程序
    QAxObject *_workDocument;//工作簿
    bool _isOpen;//文档打开状态

    QMap<QString,int> _tabelIndex;//文档中的表格索引,注意word中表格的索引值是从1开始的,这里根据不同的情况单独实现
};

#endif // WORDENGINE_H

Wo

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值