当前位置: 首页 > news >正文

网站开发可选择的方案有哪些友情链接教程

网站开发可选择的方案有哪些,友情链接教程,89点班组建设网站,做网站用主机目录 开发环境原理使用的QT库搭建开发环境准备word模板测试用例结果Gitee地址 开发环境 vs2022 Qt 5.9.1 msvc2017_x64,在文章最后提供了源码。 原理 Qt对于word文档的操作都是在书签位置进行插入文本、图片或表格的操作。 使用的QT库 除了基本的gui、core、…

目录

  • 开发环境
  • 原理
  • 使用的QT库
  • 搭建开发环境
  • 准备word模板
  • 测试用例
  • 结果
  • Gitee地址

开发环境

vs2022 + Qt 5.9.1 + msvc2017_x64,在文章最后提供了源码。

原理

Qt对于word文档的操作都是在书签位置进行插入文本、图片或表格的操作。

使用的QT库

除了基本的gui、core、widget库外,还需要ActiveQt库。

Qt5AxBased.lib,Qt5AxContainerd.lib

搭建开发环境

我是在vs2022上进行开发,换成qt creator同理。

右键属性选择-》Qt projecting-》勾选这几个

在这里插入图片描述
链接器-》常规-》输入

在这里插入图片描述

Qt5AxBased.lib
Qt5AxContainerd.lib
Qt5Widgetsd.lib
Qt5Guid.lib

准备word模板

在这里插入图片描述
在想要插入的地方设置书签

// 接口文件
#pragma once#include <iostream>class IQtWordProject
{public:virtual ~IQtWordProject() {}/** @brief 根据word模板创建报告,后缀是.dot* @param _templatePat 模板路径(绝对路径)* @return true表示成功, false表示失败*/virtual bool WordApplication(const std::string& _templatePath) = 0;/** @brief 根据wps模板创建报告,后缀是.wpt* @param _templatePath 模板路径(绝对路径)* @return true表示成功,false表示失败*/virtual bool WpsApplication(const std::string& _templatePath) = 0;/** @brief 设置生成报告时报告是否可见,默认不可见* @param _visible true表示可见,false表示不可见* @return 无。*/virtual void SetVisible(const bool& _visible = false) = 0;/** @brief 往指定书签插入文本内容* @param _mark 书签名* @param _content 内容* @return 成功返回true,失败返回false*/virtual bool SetMarkContent(const std::string& _mark, const std::string _content) = 0;/** @brief 往指定书签插入图片* @param _mark 书签名* @param _pngPath 图片路径(绝对路径)* @return 成功返回true,失败返回false*/virtual bool SetMarkPicture(const std::string& _mark, const std::string& _pngPath) = 0;/** @brief 往指定书签创建表格* @param _mark 书签名* @param _row 创建的表格行数* @param _col 创建的表格列数* @param _tableTitle 表格标题* @return 成功返回true 失败返回false*/virtual bool SetMarkTable(const std::string& _mark, const int& _row, const int& _col, const std::string& _tableTitle) = 0;/** @brief 指定表格插入行* @param _tableNum 指定表格是第几个(从1开始)* @param _startRow 插入的起始行* @param _rows 插入的行数* @return 成功返回true 失败返回false*/virtual bool InsertTableRows(const int& _tableNum, const int& _startRow, const int& _rows) = 0;/** @brief 指定表格删除行* @param _tableNum 指定表格是第几个(从1开始)* @param _row 删除的行号(从1开始)* @return 成功返回true 失败返回false*/virtual bool DeleteTableRow(const int& _tableNum, const int& _row) = 0;/** @brief 刷新表格内容* @param _tableNum 指定表格是第几个(从1开始)* @param _tableContent 表格内容* @return 成功返回true 失败返回false*/virtual bool UpdateTableData(const int& _tableNum, const std::vector<std::string>& _tableContent) = 0;/** @brief 保存文件并退出* @param _docPath 保存的文件路径+文件名,支持doc、docx* @return 无*/virtual void SaveFileQuit(const std::string& _docPath) = 0;
};

测试用例

测试用例实现了插入文本、插入图片、对表格进行插入行、创建表格、给表格添加内容的功能。

// main.cpp#include "QtWordProject.h"#include <QtWidgets/QApplication>
#include <QString>
#include <QVariantList>
#include <qdebug.h>
#include <memory>int main(int argc, char *argv[])
{QApplication a(argc, argv);std::shared_ptr<IQtWordProject> word = std::make_shared<QtWordProject>();// 替换为你的模板路径QString templatePath = QApplication::applicationDirPath() + "/../../template.doc";word->WordApplication(QString2StdString(templatePath));// 向指定标签插入文本内容word->SetMarkContent("Customer_Name", "CJX");word->SetMarkContent("Name", "语文");word->SetMarkContent("Number", "100");// 替换为你的图片路径QString imagePath = QApplication::applicationDirPath() + "/../../1.png"; word->SetMarkPicture("picture", QString2StdString(imagePath));// 创建表格word->SetMarkTable("table", 3, 3, "Table Test");// 给第一个表格插入行word->InsertTableRows(1, 2, 2);// 第二个表格删除一行word->DeleteTableRow(2, 1);// 给第二个表格刷新内容std::vector<std::string> tableContent = { "1","2","3","4","5","6"};word->UpdateTableData(2, tableContent);// 保存文件//将文件保存为doc,同样可以生成docx文档QString pathsave = QApplication::applicationDirPath() + "/../../result.doc";word->SaveFileQuit(QString2StdString(pathsave));// 这个widget显示出来说明整个文档已经保存下来了QWidget* widget = new QWidget;widget->show();return a.exec();
}

结果

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

Gitee地址

https://gitee.com/hnSVN/QtWordEditor

http://www.hkea.cn/news/928904/

相关文章:

  • 淘宝淘宝网页版登录入口免费seo公司
  • 竹溪县县建设局网站短视频营销
  • 好的网站有哪些搜索引擎seo是什么意思
  • 做音乐网站赚钱吗做小程序的公司
  • 坪地网站建设域名流量查询工具
  • 网站建设部署万能推广app
  • 网站的重要性怎么做个网站
  • 做网站的经验百度旗下有哪些app
  • 化工网站开发推广点击器
  • 怎么访问日本竹中建设网站外贸seo推广
  • 惠阳建设局网站引流推广接单
  • 北京通州网站建设公司如何建立公司网站网页
  • 网站换程序301seo优化按天扣费
  • html5 网站自适应长尾关键词挖掘爱站工具
  • 网站设计公司(信科网络)潍坊网站定制模板建站
  • 番禺网站开发报价百度竞价排名软件
  • 做企业网站接单seo网站优化技术
  • 建设网站行业云网络推广理实一体化软件
  • 如何用自己公司网站做邮箱关键字是什么意思
  • 古典网站建设欣赏马鞍山网站seo
  • 商城网站建设报价方案免费建网站软件下载
  • 中国做美国酒店的网站好竞价托管收费标准
  • 网站开发与设计静态网页源代码站长之家app下载
  • 松原做网站app运营推广是干什么
  • 做简单的网站链接2024新闻热点摘抄
  • 百度网站站长环球网疫情最新
  • 颍上做网站西安seo网站关键词优化
  • 有没有兼职做设计的网站吗知名网络软文推广平台
  • 数据百度做网站好用吗米拓建站
  • 网站维护运营怎么做搜索引擎优化通常要注意的问题有