(1)使用应用内嵌显示文件。

实现方式:利用QProcess类,启动第三方程序,获得窗口句柄后,显示到控件里面。

缺陷:启动第三方程序的时候,需要拿到程序的安装路径。每个电脑程序的安装路径不一样,打开外部应用的路径不一样,不符合要求。

(2)使用QAxWidget

实现方式:调用封装com组件的Active X对象,显示在界面上

缺陷:使用com组件实现,需要安装WPS或者Office,适用性低,卸载后无法使用。在打开excel的时候,显示窗口无法自适应主窗口的大小变化,使用绝对位置方式、手动布局方式和布局管理器方式都无法改变大小,存在隐藏的菜单栏占用一定的位置。打开word文件可以适应窗口,确认是com组件问题。

(3)使用库打开

实现方式:导入xlsx库,duckx库,poppler库分别显示xlsx,word和pdf

缺陷:xlsx库和duckx库仅能读取文本,公式图片等无法导出显示,不符合实际需求。xlsx库部分功能是满足的,也可以无格式导入到QtableWidget里面。pdf可以做到跟市面上的软件差不多,但是读取加密的pdf也是一个难题。

(4)内嵌IE浏览器打开文件

实现方式:使用类标识码打开IE浏览器显示文件。

缺陷:打开的时候有保存或者打开的弹窗,在绑定默认打开方式的时候,会强制使用默认软件打开。

(5)打包现成的应用软件为资源文件

商业软件需要版权,免费使用的软件Openoffice.org不能直接运行,需要安装创建相应的注册表项跟腱,否则应用程序无法使用。

(6) 使用OpenUrl打开默认程序打开文件,内嵌

打开默认程序后,判断打开的软件,拿到窗口句柄后内嵌显示。算是方法一的改进,先是确定注册表名称,然后找到文件路径读取出来打开,使用定时器轮询窗口句柄,拿到句柄就内嵌显示到Widget上。

不同的软件需要不同的判断,具有很大的不确定性。窗口句柄的获取需要程序运行的进程Id号。

(7)使用QlacalSocket打开

暂时还没有尝试。

Qt打开Word、Excel和PPT总结相关推荐

  1. Java通过openOffice实现word,excel,ppt转成pdf实现在线预览

    Java通过openOffice实现word,excel,ppt转成pdf实现在线预览 一.OpenOffice 1.1 下载地址 1.2 JodConverter 1.3 新建实体类PDFDemo ...

  2. office 文档 在线预览功能实现(word,excel,pdf,ppt等多种格式)——使用https://view.xdocin.com/view 提示文档过期——基础积累

    web实现office文档在线预览功能--基础积累 最近遇到一个需求,就是要实现多种文档链接的在线预览,最简单的方式就是通过window.open(url地址)的方式来实现. 但是如果要求是在一个弹窗 ...

  3. 实现QT打开Word文档

    通过QT实现点击按钮打开Word文档,需要用到QProcess,在程序中加入#include <QProcess>. 代码: .h文件 #ifndef SIDEBAR_H #define ...

  4. 用vb打开word excel 文件,出现提示“发现不可读取的内容”

    Private Function secgoppt(Optional a As String) Dim moPptApp As PowerPoint.Application Dim moPptPres ...

  5. 如何在浏览器中直接打开Word/Excel等Office文档?

    历史背景 随着协调办公的兴起,网页在线编辑文档也越来越广泛,很多大公司也发布了在线Office,但是也存在很多问题.比如桌面版Office就存在一些功能缺失:需要网络随时保持在线.不能保存桌面生成的文 ...

  6. dsoframer控件学习小结(打开WORD,EXCEL等文件)

    根据自己对dsoframer控件的学习,想把dsoframer控件进行简单的包装为C#的usercontrol,大体需要作如下:(创建windows的usercontrol的步骤就不再说了...) 我 ...

  7. 在ie直接打开word/excel文件(转贴)

    有朋友询问如何在Web页面上做到像SharePoint中的效果一样,能直接激活客户端的Word来打开.doc文件,而不是类似直接点击.doc文档链接时Word在IE中被打开那样.想想这个问题应该很多人 ...

  8. java : word,excel,img,ppt各种文档转换pdf格式以流方式

    前提: 面对各种文件转换pdf格式,我下面写的都是一些方法,其中每个方法都以流的方式进行参数的传递. 通过猿友的帮忙,修改了部分jar包,解决excel转换pdf导致的水印问题~ 源码链接:https ...

  9. java poi- 实现 word Excel pdf ppt 转 HTML

    所需要 jar poi-3.17.jar poi-examples-3.17.jar poi-excelant-3.17.jar poi-ooxml-3.17.jar poi-ooxml-schema ...

最新文章

  1. 树莓派修改密码(有单独屏幕)
  2. Skype For Business 2015实战系列6:后端数据库安装CU6补丁
  3. Variational Inference
  4. 转载:网站取得定向流量的三种方式
  5. Linux运维趋势采摘 -14期 【第一次编辑】
  6. content of maven-uilib-pom - the eslint and jslint are configured here
  7. kylinH5框架之项目组件理解
  8. Shadow Defender 语言文件并注册
  9. BGP AS过滤列表
  10. Angularjs的真分页,服务端分页,后台分页的解决方案
  11. 机房管理--如何应对学生关闭极域电子教室
  12. 考研_数学二_中值定理_证明题_辅助函数的设法
  13. 软件安全测试方案设计模板-homin
  14. 盘点百度开放云编程马拉松八大亮点
  15. PSENet(Shape Robust Text Detection with Progressive Scale Expansion Network)论文详解
  16. C#、NPOI生成Word文档(模板)
  17. ireport的简单使用(数据表格)报表
  18. Java数据结构与算法分析——求两个字符的最大子串
  19. java动态规划货车运输,题解 P1967 【货车运输】
  20. linux每个磁盘大小,linux磁盘占用跟每个文件夹大小总和不符

热门文章

  1. 如何免费将excel表格转换成Word文档?
  2. 打破校史!「双非」高校,首发 Science
  3. [转]SpringMVC常见面试题总结
  4. xp 计算机没装网络控制器,XP系统如何安装没有线网卡驱动?
  5. Datawhale组队学习NLP之transformer Task03 BERT
  6. OpenCV學習筆記(6)基於 VC+OpenCV+DirectShow 的多個攝像頭同步工作
  7. 文字生成图片的软件有哪些?这篇文章给你介绍三个
  8. 自然辩证法问题思考范围(开卷可用)
  9. 这篇文章教你用消除笔去水印
  10. grab显示服务器报错,grab链接不到服务器怎么解决