Qt5 Python-docx库的使用,Qt python混合编程,qt 读写word,不依赖office

news2024/12/23 6:45:34

解决方案的选择

在这里插入图片描述
参考: https://www.jianshu.com/p/be68884849c3
因为项目要求不能使用模板方案,不能依赖Office,网上找了一些解决方案进行调研,以下几个方案:

  • OpenOffice: 兼容性差,集成调用难度大
  • LibOffice: 太庞大,不容易集成 参考博客
  • DocxFactory:是一个用于生成.DOCX文件的免费项目。不依赖于office,支持在模板里插入文字、报表、图片、条形码等。压缩包内包含各种语言的资源代码及操作手册。(模板方案推荐方式) 参考博客
  • DuckX: 太小众,只能简单的使用 (无法插入图片)参考博客
  • docx:小众库,与Duckx库类似 (无法插入图片)

Python-docx

时间紧任务重,由于上述方案均无法满足项目需求,所以搜索了其它语言读写word的方式。*

  • Apache POI:是一个Java库, 提供纯 Java API 来处理 Microsoft Office word。我们可以创建新的word文档,从Java程序中写入和读取数据。
    Pizzip:是一个JavaScript库,可以读取和写入Word文档。它支持.doc和.docx格式,并可以在浏览器中使用。
  • Open XML SDK:是一个C#库,用于读取和写入Open XML格式的Word文档,不支持跨平台,即只能部署在windows系统。
  • python-docx:是一个流行的Python库,用于读取和写入Microsoft Word文档。它支持.docx格式,并提供了许多API来操作文档内容、样式和格式。

由于对个人对python相对熟悉一些,所以最终选择使用Python-docx库,集成到程度中,Python环境与相关库跟随Qt程序一起发布。

安装Python环境

参考: https://blog.csdn.net/qq_41515916/article/details/130216678
注意:安装过程中选择添加环境变量选项,不然python指令无法在windows终端中使用
在这里插入图片描述

Python调用

  • 在qt项目中引入python.lib库,不了解的朋友可以搜索 qt如何引入 第三方库,引入库后会出现问题,查看下一项。我只遇到了slot关键字的问题。
  • Qt写C++调用Python遇到的坑
  • C++调用Python(混合编程)
  • Linux环境配置
  • 打包发布
  • python-docx 官方文档

完整代码 + 打包发布资源 :https://download.csdn.net/download/wml00876/88475187

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1136030.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Mac怎么删除文件和软件?苹果电脑删除第三方软件方法

Mac删除程序这个话题为什么一直重复说或者太多人讨论呢?因为如果操作不当,可能会导致某些不好的影响。因为Mac电脑如果有太多无用的应用程序,很有可能会拖垮Mac系统的运行速度。或者如果因为删除不干净,导致残留文件积累在Mac电脑…

产品经理的秘密武器:提高效率的 6 种软件工具

在进入产品坑之前,你被这些假象“欺骗”过吗? 你认为产品经理是这样的:早上喝咖啡,听音乐,看数据报告,处理电子邮件,写一些产品需求,提交给各部门;午餐休息后&#xff0…

Java——Spring的控制反转(一文详解IOC)

Spring,Spring MVC,Spring Boot 三者比较 答: 这三者专注的领域不同,解决的问题也不一样;总的来说,Spring 就像一个大家族,有众多衍生产品例如 Boot,Security,JPA等等。…

Sectigo代码签名证书

自数字化时代以来,软件开发领域一直在迅速发展,而数字签名成为了确保软件和应用程序的完整性和可信性的关键元素之一。Sectigo代码签名证书作为数字签名的一个重要组成部分,为开发者和软件供应商提供了一种可靠的方式来证明其代码的来源和完整…

charles抓包手机的http

一,先写抓包手机的http 1,设置charles 按照如图设置charles,之后拿到ip地址. 2,手机端配置网络 手机连上和电脑同一个局域网,在无线按钮长按或者右键,手动配置ip,配置成刚刚第一步取到的ip和端口: 在配置好之后,电脑会弹出一个弹窗: 点击allow,就能狗抓取手机http的包了.

SAAS智能打印设计->自定义打印模板

1 业务场景 企业在业务运转过程中经常需要在线打印凭证、采购单、出入库单据等等。这时,你可以使用SAAS版打印设计器,根据自身需求自行设计打印模板,无论是打印纸张规格、打印方向,还是打印样式,你都可以自由调整设计…

目前和未来的缓存构建

说起来可能有点反直觉,有时候不运行反而可以帮助我们加快速度,这正是网络浏览器运行的指导原则。不必在页面上加载所有内容,缓存的元素已经存在,不需要每次访问网站或网页时都重新加载。页面加载速度越快,浏览器的工作…

windows 离线安装 vue 环境

由于公司要求在内网开发项目,而内网不能连接外网,因此只能离线安装 vue 环境,在网上找过很多的离线安装方法,但都没有成功,于是在不断的尝试中找到了以下方法。 1、找一台与内网电脑相同系统的有网电脑。 2、在有网的电…

Power BI 实现日历图,在一张图中展示天、周、月数据变化规律

《数据可视化》这本书里介绍了一个时间可视化的案例(如下图所示),以日历图的形式展示数据的变化,可以在一张图上同时观察到:(1)每一天的数据变化;(2)随周变化…

1024 云上见 · 上云挑战(ChatGPT搭建)

【玩转1024】使用函数计算X通义千问搭建AI助手,参与1024小说创作大赛 【使用函数计算X通义千问搭建AI助手,参与小说创作大赛】:本活动基于函数计算X 通义千问快速部署 AI 个人助手应用,用户可以根据需要选择不同角色的AI助手开启…

Python开发利器KeymouseGo,开源的就是香

1、介绍 在日常工作中,经常会遇到一些重复性的工作,不管是点击某个按钮、写文字,打印,还是复制粘贴拷贝资料之类的,需要进行大量的重复操作。按键精灵大家想必都听说过,传统的方式,可以下载个按…

山东大学开发可解释深度学习算法 RetroExplainer,4 步识别有机物的逆合成路线

逆合成旨在找到一系列合适的反应物,以高效合成目标产物。这是解决有机合成路线的重要方法,也是有机合成路线设计的最简单、最基本的方法。 早期的逆合成研究多依赖编程,随后这一工作被 AI 接替。然而,现有的逆合成方法多关注单步逆…

基于STM32温室智能监测控制系统设计

**单片机设计介绍,基于STM32温室智能监测控制系统设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序程序文档 六、 文章目录 一 概要 设计功能包含温湿度检测、光照强度检测,可以通过温湿度和光照来控制灯和电机风扇运转。包含的…

Java多线程秘籍,掌握这5种方法,让你的代码优化升级

介绍5种多线程方法,助您提高编码效率! 如果您的应用程序与那些能够同时处理多个任务的应用程序相比表现不佳,很可能是因为它是单线程的。解决这个问题的方法之一是采用多线程技术。 以下是一些可以考虑的方法: 线程(…

Mac第三方恶意软件删除不了怎么办,这个方法你尝试了吗?

大多使用Mac电脑的用户,难免会遇到强制弹广告窗或者有些恶意软件在Mac电脑里删不掉的情况。是的,你的Mac可能已经感染了恶意软件。恶意软件除了传统的病毒、蠕虫和特洛伊木马之外,还有一个蓬勃发展的广告软件和间谍软件程序生态系统&#xff…

AT32固件库外设使用,ArduinoAPI接口移植,模块化

目录 一、ArduinoAPI移植一、通用定时器使用1.计时1.2.ETR外部时钟计数4.ArduinoAPI - timer 三、ADC1.ADC初始化(非DMA)2.ADC_DMA 规则通道扫描 六、USB HID IAP1.准备好Bootloader和app2.配置好时钟,一定要打开USB3.将生成的时钟配置复制到…

每日汇评:黄金形态确认牛市,再次尝试上行2000美元

金价挑战1988美元的关键阻力位,向2000美元进发; 在避险情绪中,美元随着美债收益率扩大复苏; 黄金价格在日线图上确认了一个多头标志,RSI指数仍然指向更多的上涨; 随着中东紧张局势再次引起人们的关注&#…

前列腺特异抗原(PSA)介绍

前列腺特异抗原(Prostate Specific Antigen,PSA)是由前列腺腺泡和导管的上皮细胞分泌的一种单链糖蛋白,在功能上属于类激肽释放酶的一种丝氨酸蛋白酶,参与精液的液化过程,是常规用于前列腺良性与恶性疾病诊断与鉴别诊断的重要指标…

LuaTable转C#的列表List和字典Dictionary

LuaTable转C#的列表List和字典Dictionaty 介绍lua中创建表测试lua中list表表转成List表转成Dictionary 键值对表表转成Dictionary 多类型键值对表表转成Dictionary 总结 介绍 之前基本都是从C#中的List或者Dictionary转成luaTable,很少会把LuaTable转成C#的List或者…