不需要安装office的读写xlsx的QT库

介绍QtXlsx库,用于Qt应用中无需Office环境直接读写xlsx格式的Excel文件,提供编译及使用指南,包括源码编译步骤、文件配置与库文档资源。

一般QT读写excel都是通过QT自带的axcontainer组件,需要office安装环境,而且效率也比较低。

开源的Qt Xlsx可以脱离office直接读写excel(貌似只支持xlsx),对于应用程序的分发还是比较有利的。

源码地址:https://github.com/dbzhang800/QtXlsxWriter

一、编译

1、编译前需事先安装perl;

2、下载源码,打开工程,仅构建src。编译出错时,在出错的文件中添加:#include <QVector>,并把出错的地方的"QList" 用"QVector" 替换掉重新构建即可。

3、拷贝编译生成的文件到QT系统目录:

1)源码src\xlsx\目录下的h文件拷贝到Qt对应版本的include目录(因为编译产生的很多h文件内容是里是相对链接,直接拷贝源码下的h文件不会出错)
2)lib目录下的.a、.lib、.prl6个文件拷贝到Qt对应版本的的lib目录;
3)bin目录下的.dll2个文件拷贝到Qt对应版本的bin目录;
4)mkspecs\modules-inst目录下的qt_lib_xlsx.pri拷贝到Qt对应版本的的lib目录的mkspecs\modules目录。

二、使用

项目文件中QT += xlsx,cpp文件中#include <QtXlsx>

库文档:http://qtxlsx.debao.me/qtxlsx-module.html(貌似要翻墙)

三、补充修正

实际使用发现,这个库在读取excel单元格数据(QVariant Worksheet::read(int row, int column) const)时,在单元格是公式的情况下,返回的是公式而不是值,翻了下源码,在xlsxworksheet.cpp这个文件里,把520-534的 if (cell->hasFormula()) {}这段直接注释掉,这样就直接是return cell->value();

编译好可直接下载使用的包(QT5.10.minGW32。已修改为公式返回值)

https://download.csdn.net/download/lostapple/10579352

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值