环境:Win7 Qt 5.7.0 MSVC 2013 32bit
Qt对于excel的读写过于繁琐使用,但是 Qt Xlsx Module 某块提供了读写Excel 文件的类.其不需要安装 Microsoft Excel 与QT5结合,可以使用在任何平台,该库主要用如下几个功能:
- Generate a new .xlsx file from scratch
- Extract data from an existing .xlsx file
- Edit an existing .xlsx file
一、下载:
其代码可以从QtXlsx下载 下载
由于在编译的使用需要安装perl因此这里也需要下载安装ActiveState Perl,
下载地址:Perl下载
下载完毕后,按照默认安装顺序即可。注意安装完毕后需要添加将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" 替换掉重新构建就可以了。
三、Copy:
构建完毕之后,后生产如下几个文件: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、接下来拷贝lib文件夹下
Qt5Xlsxd.lib
Qt5Xlsx.lib
Qt5Xlsx.prl
Qt5Xlsxd.prl
4个文件到你的Qt的lib下:C:\Qt\Qt5.7.0\5.7\msvc2013_64\lib
==============================================================
3、拷贝lib文件夹下的
Qt5Xlsx.dll
Qt5Xlsxd.dll
库文件到你的Qt库路径下:C:\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的操作了,只是需要注意,
使用的时候需要包含头文件
在你的 qmake .pro 需要添加:
完毕之后,最好先qmake 在构建工程,否则会提示连接不到库。
下面给出几个简单的例子,转步:QtXlsx 网上例子
====================================================================
本文copy自 http://blog.csdn.net/woshidahuaidan2011/article/details/52724452
稍微编辑了哈,算是个笔记。
====================================================================