QtXlsxWriter库的安装和使用

一、从源码下载。

       网址:https://github.com/dbzhang800/QtXlsxWriter

二、编译安装QXlsx库

       2.1安装Perl

         QtXlsx是一个可以读写excel文件的库,只要支持Qt5,其不需要安装有微软的excel即可在任何平台上使用。此库可以完成以下功能:创建.xlsx文件,从现有的.xlsx文件中读取数据,编辑已经存在的xlsx文件.

        从源码的README文件我们可以知道,此库在编译安装的时候需要Perl的支持。可从草莓Perld的网址(http://strawberryperl.co)下载所需的Perl安装包,下载完安装包后即需要首先完成安装Perl。

    2.2编译安装QtXlsx

        在安装过Perl后,打开Qt的cmd

 然后再cmd中切换到QtXlsx的源码所在的路径。然后使用如下命令对此源码进行编译安装

qmake
mingw32-make
mingw32-make install 
 一般使用上述安装命令安装后是不会出现任何问题的,但是也不排除有像本人一样的Coder,下载完代码后在QtCreator中先构建了某个例子以尝鲜,是不会成功的,经过我的实际测试,此步骤会导致在后续编译安装库的时候导致debug库编译安装失败,但是就是这一步会导致我们在上述安装过程中出现如下错误:
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();

 解决办法:

        这里直接把xlsxzipreader.cpp中添加如下头文件,并将此文件51行出现的QList替换为QVector即可。然后继续在Qt的cmd中继续上述安装命令进行编译安装。

#include <QVector>
#可加在xlsxzipreader.h中
   注意:在下载完代码后,直接运行某个demo后,有可能会导致在编译安装的时候debug版本编译失败,此时可以将源码再解压一份按照上述过程再操作一次即可同时生成debug和release的库。

三、QXlsx例子编译

        在上述步骤完成后即可再次打开QtXlsx的源码,尝试编译其example中的demo咯。此处为了简单起见,我将hello这个demo分离出来进行了单独编译,并尝试运行。

    hello.pro

TARGET = hello
QT+=xlsx
​
CONFIG   += console
CONFIG   -= app_bundle
​
SOURCES += main.cpp
​
HEADERS +=
 

hello的main.cpp

#include <QtCore>
#include "xlsxdocument.h"
​
int main()
{
    //![0]
    QXlsx::Document xlsx;
    //![0]
​
    //![1]
    xlsx.write("A1", "Hello Qt!");
    xlsx.write("A2", 12345);
    xlsx.write("A3", "=44+33");
    xlsx.write("A4", true);
    xlsx.write("A5", "http://qt-project.org");
    xlsx.write("A6", QDate(2013, 12, 27));
    xlsx.write("A7", QTime(6, 30));
    //![1]
​
    //![2]
    xlsx.save();
    //![2]
​
    return 0;
}
   hello工程仅仅需要这两个文件即可。编译完成后即可发现,在其Relase目录中有Book1.xlsx这个excel表格生成,并且其中内容与main.cpp的一致

以后在使用Qtxlsx库的过程中可直接在其源码去查找相应的例子

参考博客:

https://stackoverflow.com/questions/28640107/not-able-to-make-qtxlsxwriter

https://blog.csdn.net/zhulichen/article/details/78115155

相关文件:

 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值