Qt Xlsx ( QtXlsxWriter ) qt读写excel文件库的windows安装使用

Posted bigPillow

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt Xlsx ( QtXlsxWriter ) qt读写excel文件库的windows安装使用相关的知识,希望对你有一定的参考价值。

声明,我的Qt版本为5.7 (x64)


qt对于excel的读写过于繁琐使用,但是 Qt Xlsx Module 某块提供了读写Excel 文件的类.其不需要安装 Microsoft Excel 与QT5结合,可以使用在任何平台,该库主要用如下几个功能:

其代码可以从https://github.com/dbzhang800/QtXlsxWriter 下载

由于在编译的使用需要安装perl因此这里也需要下载安装ActiveState Perl

下载地址:http://www.activestate.com/activeperl/downloads

下载完毕后,按照默认安装顺序即可。注意安装完毕后需要添加将activestate perl的安装目录添加系统系统环境变量,不然Qt可能找不到该工具。


上面的代码下载完毕,activestate perl也安装完毕之后就可以编译了,打开源码包的工程,比如我的是:

F:\\QtXlsxWriter-master\\qtxlsx.pro

为了编译方便可以仅仅构建src,example和test可以不用构建他。

在构建的时候,可能会有如下的错误,

xlsxzipreader.cpp: In member function ‘void QXlsx::ZipReader::init()’:
xlsxzipreader.cpp:51:66: error: conversion from ‘QVector<QZipReader::FileInfo>’ to non-scalar type ‘QList<QZipReader::FileInfo>’ requested
     QList<QZipReader::FileInfo> allFiles = m_reader->fileInfoList();

这里只需要吧出错的文件添加 :
 #include <QVector>
然后把出错的地方的"QList" 用"QVector" 替换掉重新构建就可以了。


构建完毕之后,后生产如下几个文件:

F:\\build-qtxlsx-Desktop_Qt_5_7_0_MSVC2013_64bit-Debug

include

lib

mkspecs

src

.qmake.cache

接下来就需要将这些文件拷贝到指定的位置,以便Qt可以正常的调用,

1、首先拷贝include目录下的QtXlsx目录到Qt的安装目录下,比如我的拷贝到:

D:\\Qt\\Qt5.7.0\\5.7\\msvc2013_64\\include

2、接下来拷贝ib文件夹下 Qt5Xlsxd.lib   Qt5Xlsx.lib   Qt5Xlsx.prl   Qt5Xlsxd.prl  4个文件到你的Qt的lib下:

D:\\Qt\\Qt5.7.0\\5.7\\msvc2013_64\\lib

3、拷贝lib文件夹下的  Qt5Xlsx.dll  Qt5Xlsxd.dll 库文件到你的Qt库路径下

D:\\Qt\\Qt5.7.0\\5.7\\msvc2013_64\\bin

4、拷贝 mkspecs\\modules 文件夹下的qt_lib_xlsx.pri到你的Qt模块下

D:\\Qt\\Qt5.7.0\\5.7\\msvc2013_64\\mkspecs\\modules

接下来就可以使用Qt进行excel的操作了,只是需要注意,

使用的时候需要包含头文件

#include <QtXlsx>


在你的 qmake .pro 需要添加:

QT += xlsx

完毕之后,最好先qmake 在构建工程,否则会提示连接不到库。

下面给出几个简单的例子,转步:

http://blog.csdn.net/woshidahuaidan2011/article/details/53349163


ps:例程在源码包目录下的example文件夹下。




以上是关于Qt Xlsx ( QtXlsxWriter ) qt读写excel文件库的windows安装使用的主要内容,如果未能解决你的问题,请参考以下文章

Qt Xlsx ( QtXlsxWriter ) qt读写excel文件库的windows安装使用

QXlsx读写Excel表格

QXlsx读写Excel表格

QXlsx读写Excel表格

QXlsx读写Excel表格

qt 使用qtxlsx 读写excel