前言
最近在制作一款自动生成报表的软件,首先选择了NCReport,并可以制作出自己想要的报表效果。但是由NCReport生成报表后一般存储为PDF后,对其编辑就变得不方便,因此在得知有国内大牛发布的开源项目QtXlsxWriter后,马上着手进行配置并将过程记录如下。
提示:网络上关于QtXlsxWriter编译配置的博客都是使用QtCreator,而本人偏好VS,故本人博客中涉及到第三方库的编译配置基本是在VS环境下。
编译准备
(1)下载QtXlsxWriter
Github上提供的项目下载地址:https://github.com/dbzhang800/QtXlsxWriter
及帮助文档连接:http://qtxlsx.debao.me
(2)下载Perl编译器(这是必须的)
安装Perl可以选择默认路径,也可以指定到自己需要的路径。如何安装并且配置,百度经验讲的很详细,请查看下面链接:http://jingyan.baidu.com/article/9f7e7ec0b798ae6f281554e9.html?st=2&os=0&bd_page_type=1&net_type=1
注意:配置好环境变量需要注销或重启系统。
编译QtXlsxWriter
(1)使用QtCreator打开qtxlsx.pro文件。
(2)分别编译Debug或Release版
提示,无法从QVector转换为QList。这个问题很好解决,只需要将下图中QList换成QVector即可。
(3)编译成功,如下图
(4)部署:以Release版本为例
将D:\software\QtXlsxWriter-master\build-qtxlsx-Desktop_Qt_5_6_0_MSVC2013_64bit-Release\include路径下的QtXlsx拷贝到C:\Qt\Qt5.6.0\5.6\msvc2013_64\include。
提示:将QtSlsx中的头文件全部用D:\software\QtXlsxWriter-master\QtXlsxWriter-master\src\xlsx路径下的头文件替换!
将Qt5Xlsx.lib Qt5Xlsx.prl Qt5Xlsxd.lib Qt5Xlsxd.prl四个文件拷贝到C:\Qt\Qt5.6.0\5.6\msvc2013_64\lib
将路径D:\software\QtXlsxWriter-master\build-qtxlsx-Desktop_Qt_5_6_0_MSVC2013_64bit-Release\mkspecs\modules下的qt_lib_xlsx.pri拷贝到C:\Qt\Qt5.6.0\5.6\msvc2013_64\mkspecs\modules
测试
打开VS,新建属性表QtXlsxRelease,修改内容如下:
添加如下代码:
#include <QtXlsx/QtXlsx>
int main()
{
QXlsx::Document xlsx;
xlsx.write("A1", "Hello Qt!");
xlsx.saveAs("Test.xlsx");
return 0;
}
编译后可以看到在根目录已经生成Test.xlsx,打开后可以看到:
结语
GitHub上还介绍了一种直接将源码添加到自己的项目中的方法,在下篇博客:http://blog.csdn.net/wokaowokaowokao12345/article/details/65936730中详细介绍了,如何免编译使用QtXlsxWriter的方法,欢迎查阅。