QT实现Excel转PDF利用QAxObject库

0 934
索鸟 2021-01-20
需要:0索币

项目中原来有使用QT的QAxObject使用OfficeExcel的组件导出Excel报告文件的功能,由于项目要求导出PDF功能比较急,如果使用其他样式需要重新组织格式等,花费较多时间,因此考虑将原来的Excel报告直接导出PDF,

1搜索QT导出PDF的资料,遇到几个WORD导出PDF,遇到ExportAsFixedFormat这个函数,按照网页上的参数试了一下不行,坑,可能是word导出到pdf跟Excel不一样, 

2 经过仔细搜索,找到ExportAsFixedFormat(Excel)函数的参数说明,根据参数实现
 

  1. axCurWorkBook->querySubObject("ExportAsFixedFormat(QVariant, QVariant)",
  2.             0, pdfpath);

其中axCurWorkBook是最终导出成Excel的QAxObject对象,pdfpath是保存的PDF文件的路径

0是函数的指定的PDF格式.

函数具体参见:https://docs.microsoft.com/zh-cn/office/vba/api/excel.workbook.exportasfixedformat

PS:日期:2020-4-27

3 由于之前导出的PDF格式按照默认纸张导出 很多列都分开了,因此测试Excel的功能,发现可以设置内容为一页,然后再导出到Excel就可以了,方法是:

  1. //另存为pdf
  2. QAxObject* pagecfg = axResultSheet->querySubObject("PageSetup");
  3. //设置工作表 区域为1页
  4. pagecfg->setProperty("Zoom", false);
  5. pagecfg->setProperty("FitToPagesWide", 1);
  6. pagecfg->setProperty("FitToPagesTall", 1);
  7. delete pagecfg;
  8. axResultSheet->dynamicCall("ExportAsFixedFormat(QVariant, QVariant)",
  9. 0, pdfpath);

我是通过录制宏分析,然后在官网网址查看说明得到的.https://docs.microsoft.com/zh-cn/office/vba/api/excel.pagesetup.fittopageswide

回帖
  • 消灭零回复
相关主题
2020年最新最新Kubernetes视频教程(K8s)教程 2
程序员转型之制作网课变现,月入过万告别996 1
索鸟快传2.0发布啦 1
两个不同网络的电脑怎么实现文件的互相访问呢? 1
网盘多账号登录软件 1
Java实战闲云旅游项目基于vue+element-ui 1
单点登录技术解决方案基于OAuth2.0的网关鉴权RSA算法生成令牌 1
QT5获取剪贴板上文本信息QT设置剪贴板内容 1
springboot2实战在线购物系统电商系统 1
python web实战之爱家租房项目 1
windows COM实用入门教程 1
C++游戏开发之C++实现的水果忍者游戏 1
计算机视觉库opencv教程 1
node.js实战图书管理系统express框架实现 1
C++实战教程之远程桌面远程控制实战 1
相关主题
PHP7报A non well formed numeric value encountered 0
Linux系统下关闭mongodb的几种命令分享 0
mongodb删除数据、删除集合、删除数据库的命令 0
Git&Github极速入门与攻坚实战课程 0
python爬虫教程使用Django和scrapy实现 0
libnetsnmpmibs.so.31: cannot open shared object file 0
数据结构和算法视频教程 0
redis的hash结构怎么删除数据呢? 0
C++和LUA解析器的数据交互实战视频 0
mongodb errmsg" : "too many users are authenticated 0
C++基础入门视频教程 0
用30个小时精通C++视频教程可能吗? 0
C++分布式多线程游戏服务器开发视频教程socket tcp boost库 0
C++培训教程就业班教程 0
layui的util工具格式时间戳为字符串 0
C++实战教程之远程桌面远程控制实战 1
网络安全培训视频教程 0
LINUX_C++软件工程师视频教程高级项目实战 0
C++高级数据结构与算法视频教程 0
跨域问题很头疼?通过配置nginx轻松解决ajax跨域问题 0