【QT】word文档操作实例——根据word模板生成word报表

引言

在QT5.3中,在.pro使用的是:QT += widgets gui axcontainer 来使用ActiveQt框架中的QAxContainer模块(Qt4版本添加Qt += qaxcontainer)=),所以在项目在头文件中包含QAxWidget和QAxObject。

简单介绍ActiveQt框架由两个模块组成:
QAxContainer模块允许我们使用COM对象并且可以在Qt应用程序中嵌入QActive控件。
QAxServer模块允许我们导出使用Qt编写的自定义的COM对象和Active控件。

一、word模板准备

模板的准备至关重要,而其中更重要的是模板中书签的设置命名,因为接下来的程序代码中,程序就是根据书签的名字,来定位word文档中的位置,从而进行数据的插入修改

当设计好表格,并且设计好书签的名称,便将文档保存为 .dot格式

在这里插入图片描述
在这里插入图片描述

二、WordDemo实现

代码中都有详尽的注释

1、mainwindow.ui

在这里插入图片描述

在这里插入图片描述

2、mainwindow.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>

QT_BEGIN_NAMESPACE
namespace Ui {
    class MainWindow; }
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
   
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

    void init_UI();		//初始化界面函数
    void clear_UI();	//重置界面函数


private slots:
    void reshow();			//重置界面的槽函数
    void create_word();		//创建报表的槽函数

private:
    Ui::MainWindow *ui;



};
#endif // MAINWINDOW_H

3、mainwindow.cpp

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QAxObject>
#include <QAxWidget>
#include <QMessageBox>
#include <QFileDialog>
#include <QDebug>

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
   
    ui->setupUi(this);
    init_UI();

    connect(ui->btu_create,SIGNAL(clicked(bool)),this,SLOT(create_word()));
    connect(ui->btu_create,SIGNAL(clicked(bool)), this, SLOT(reshow()));
}

MainWindow::~MainWindow()
{
   
    delete ui;
}

void MainWindow::create_word()
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值