Qt操作word模板、自动生成word文档

本文介绍了一种使用Qt处理Word文档的新方法,通过将Word模板转换为XML格式,利用自定义标记替换内容,实现了在Qt环境中动态生成Word文档。涉及到的关键步骤包括:将Word模板转为XML,使用QXmlEdit编辑XML,最后在Qt中替换标记并生成文档。适用于需要填充固定模板的多种场景,如插入文字、图片和表格。

使用场景:

1.有固定的word模板,需要往里填入不同信息时。

2.word模板中需要插入图片。

3.word模板中有不确定行数的表格需要填写。

原始方法:

一、用word打开文档,在需要填写信息的空格处插入书签。

二、将文档另存为dot格式。

操作word类:
h

#ifndef MYWORD_H
#define MYWORD_H

/********************************************
*提供一个操作word的类
*该类具有以下功能:
*1.指定标签插入文字
*
*********************************************/
#include <QObject>
#include <QAxObject>
#include <QAxWidget>

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

private:
QString m_fileName;//存入位置
QAxWidget *m_pWord;
QAxObject *m_pDocuments;
QAxObject *m_pDocument;//

public:
void createWordDocument();//创建word文档
bool insertText(QString Tag, QString text);//往标签处插入文字,tag书签名称,text插入的文字
bool insertPic(QString Tag,QString Picpath);//往标签处插图片
void saveAndQuit(const QString &text);//保存文档并退出

signals:

public slots:
};

#endif // MYWORD_H

cpp

#include "myword.h"
#include <QFileDialog>
#include <QDebug>
#include <QProcess>

MyWord::MyWord(QObject *parent) : QObject(parent)
{
   
   
m_pWord = NULL;
m_pDocuments = NULL;
m_pDocument 
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值