Qt功能开发 Qt导出word(doc)

  • A+
所属分类:Qt专栏 Qt系列教程

最近做了一个功能,在Qt中导出数据到doc文件中,上网找了很久,发现可以用的代码并不多,大多数都是先建立word模板,然后在模板中设定标签,最后Qt导出doc时,用数据替换标签位置的文本,这样来完成在Qt中导出word的功能。但这种方式也存在一些问题,比如说,模板建立比较麻烦,而且换一个功能,就得重新设计模板,不如在代码里直接生成doc来的直接。

话不多说,本文将介绍在Qt代码中直接生成doc文件的方法,非常好用。

采用qWord库,这个库是之前某位大神写的,我研究了一下,发现用起来很方便,也不知道为什么,这个库居然没有被推广,感觉被埋没了。

qWord生成效果图:

Qt功能开发 Qt导出word(doc)

qWord库的下载链接都是收费或者要积分的,这里提供免费下载方式,我当时也是买的,希望这个好用的库可以被推广。库的源码比较简单,我在自己的项目里面也根据需求对源码做了一点修改,大家有什么问题也可以在评论区留言交流。

下载地址:https://pan.baidu.com/s/19tOYoo3-GldzkJSoGGlXxg

密码:7awq

ps:如果代码在加载word.application组件时候失败,可能是因为office是盗版,我存在过这样的问题,发现换了台正版office就可以了。

解决QAxObject调用word程序进程一直打开,却无法关闭的问题

在qword.cpp中定义一个函数,头文件中做相应声明

bool QWord::quitWord()
{
 m_word->dynamicCall("Quit(void)") 
}

在调用qword,并且调用saveAs()方法后,调用上面定义的quitWord()即可关闭由qword打开的word进程

Qt大课堂-QtShare

发表评论

您必须登录才能发表评论!