网站制作详情,上海网站设计公司推荐亿企邦,上优化seo,郑州专门做网站如果你有按模版批量自动化操作word文件的需求#xff0c;那么本文能给你一定的帮助。
它能满足你程序自动化生成报表的需求。常常用于上位机、测试仪器的软件中。
需要你你自己做个word模版文档#xff0c;添加2个书签。点按钮#xff0c;会按照你的模板文档生成一个同样的…如果你有按模版批量自动化操作word文件的需求那么本文能给你一定的帮助。
它能满足你程序自动化生成报表的需求。常常用于上位机、测试仪器的软件中。
需要你你自己做个word模版文档添加2个书签。点按钮会按照你的模板文档生成一个同样的文档在书签的位置添加替换文字和图片从而实现自动批量化操作。
QT6.2.4 MSVC2019 调试通过。
在文章的最后列出了代码下载链接。
但是从打开文件到写完文件需要6秒左右时间哪位有好的方案可以缩短时间。
//1.界面
//界面很简单就一个写操作的按钮。
//2.头文件
//--------------------------------------------------------------------------------------------------------------
#ifndef WIDGET_H #define WIDGET_H #include QWidget#include QPushButton #include QVBoxLayout#include ActiveQt/QAxObject #include ActiveQt/QAxWidget#include CWordOperation.h QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACE
class Widget : public QWidget { Q_OBJECT
public: Widget(QWidget *parent nullptr); ~Widget(); void initUI(); QPushButton* btn_write ; private: Ui::Widget *ui; CWordOperation opt; private slots: void btn_write_click(); }; #endif // WIDGET_H
//----------------------------------------------------------------------------------------------------------------
//3.cpp文件
#include widget.h #include ui_widget.h
Widget::Widget(QWidget *parent) : QWidget(parent) , ui(new Ui::Widget) { ui-setupUi(this); initUI(); } void Widget::initUI() { QVBoxLayout* vlayout new QVBoxLayout(); btn_write new QPushButton(this); btn_write-setText(写入word文档); btn_write-setFixedWidth(100); vlayout-addWidget(btn_write); setLayout(vlayout); QObject::connect(btn_write, QPushButton::clicked,this,Widget::btn_write_click);
} void Widget::btn_write_click() { //qDebug()void Widget::btn_write_click(); opt.openFile(d:/word5.docx, false); // 添加文字 opt.appendBookMarksText(bookmark1, Lei_Jun);//书签位置替换文字 // 添加图片 //String tempFilePath d:/output/LeiJun.png;//labview.jpeg QString tempFilePath d:/output/labview.jpeg;//labview.jpeg opt.replaceBookmarkWithImage(bookmark2, tempFilePath);//书签位置替换图片 opt.saveAs(u8d:/output/output.docx); opt.closeFalse(); } Widget::~Widget() { delete ui; }
//---------------------------------------------------------------------------------------------------------------------
//4.CWordOperation类
//写文字的函数原型
//bool CWordOperation::appendBookMarksText(const QString strBookmark, const QString strText)
//写图片的函数原型
bool CWordOperation::appendBookMarksText(const QString strBookmark, const QString strText)
//下载链接
https://download.csdn.net/download/weixin_39926429/89377300
//5.参考代码下载链接
https://download.csdn.net/download/weixin_39926429/89377344
//6.word添加书签的方法 图1-添加书签示意图
分5步
第1步光标移动到合适的位置
第2步点菜单的插入
第3步点菜单的书签弹出一个框
第4步对话框的最上面的文本框内输入书签名,我输入的是bookmark1
第5步点添加按钮对话框关闭添加了书签。
完了保存和关闭文档。就已经生成了模版。
说明可以看到我添加了2个书签bookmark1、bookmark2
它是个字符串
word模板文件下载链接
https://download.csdn.net/download/weixin_39926429/89377592