Qt下读写Excel文件,网上推荐是适用QAxObject
QAxObject *excel = new QAxObject;
excel->setControl(“Excel.Application”); //连接Excel控件
但是这个用法有问题,当机器没有安装Office的时候,是不能调用成功的,即使安装了WPS和VBA也一样不行。
现在越来越多的电脑都装WPS,不装Office了。
所以,能不依赖Office才是最好的。
找了一下,发现只有Qt xlsx这个东西比较多人用。也能跨平台使用,不过没试过。
我是在GitHub下了源代码压缩包,安装perl,编译成mingw32的库。编译过程很简单,执行3条命令,会自己编译好,然后拷贝到相应的目录。网上说的要修改代码,新版的已经不用修改,直接编译通过的。qt只编译了32位的,64位的不知道怎么弄。
总结:
1、比QAxObject快,导出秒操作,瞬间完成。
2、调用简单,不需要熟悉VBA使用函数和属性设置。
下面重点来了->
这货只支持.xlsx格式,也就是说旧版.xls格式文件它是不认的,直接报错:QZip: not a zip file! 读出来都是空值。
如果是发现报这样的错误,赶紧把文件另存为.xlsx格式即可。
这个是它的网站,上面有详细使用介绍,很强大的东西:
http://qtxlsx.debao.me/
使用方法:
#include <QtXlsx/QtXlsx>
QXlsx::Document xlsx(filePath);//打开需要打开的excel文件,filePath为打开的文件名
xlsx.read (1,1)//读取文件相应的行列(注意xlsx读取的文件的起始行列从1开始)
xlsx.write(2, 3, “hello,qtxlsx”);//向相应的xlsx文件中写数据,2是行,3是列,从1,1开始的
xlsx.saveAs();//写完之后一定要保存
编译后的文件结构:
Qt下读写Excel文件,网上推荐是适用QAxObjectQAxObject *excel = new QAxObject;excel->setControl(“Excel.Application”); //连接Excel控件但是这个用法有问题,当机器没有安装Office的时候,是不能调用成功的,即使安装了WPS和VBA也一样不行。现在越来越多的电脑都装WPS,不装Office了。所以,能不依赖Office才是最好的。找了一下,发现只有Qt xlsx这个东西比较多人用。也能跨平台使用,不过
Qt
Xlsx
读写
Excel
工具
Qt
Xlsx
读写
Excel
工具
Qt
Xlsx
读写
Excel
工具
Qt
Xlsx
读写
Excel
工具
Qt
Xlsx
读写
Excel
工具
Qt
Xlsx
读写
Excel
工具
Qt
Xlsx
读写
Excel
工具
Qt
Xlsx
读写
Excel
工具
Qt
Xlsx
读写
Excel
工具
Qt
Xlsx
读写
Excel
工具
Qt
Xlsx
读写
Excel
工具
Qt
Xlsx
读写
Excel
工具
Qt
Xlsx
读写
Excel
工具
Qt
Xlsx
读写
Excel
工具
Qt
Xlsx
读写
Excel
工具
Qt
Xlsx
读写
Excel
工具
Qt
Xlsx
读写
Excel
工具
Qt
Xlsx
读写
Excel
工具
Qt
Xlsx
读写
Excel
工具
Qt
Xlsx
读写
Excel
工具
Qt
Xlsx
读写
Excel
工具
Qt
Xlsx
读写
Excel
工具
Qt
Xlsx
读写
Excel
工具
Qt
Xlsx
读写
Excel
工具
Qt
Xlsx
读写
Excel
工具
Qt
Xlsx
读写
Excel
工具
Qt
Xlsx
读写
Excel
工具
Qt
Xlsx
读写
Excel
工具
Qt
Xlsx
读写
Excel
工具
Qt
Xlsx
读写
Excel
工具
Qt
Xlsx
读写
Excel
工具
Qt
Xlsx
读写
Excel
工具
Qt
Xlsx
读写
Excel
工具
Qt
Xls
https://wiki.
qt
.io/Handling_Microsoft_
Excel
_
file
_format 里面总结了
Qt
读写
Excel
文件
的各种常用的方法,包括一些第三方的插件。
通常,在windos系统操作
Excel
上,
QT
有两种方式,一是通过COM组件,二是通过QODBC(数据库的方式)。
网上推荐是使用QAxObject通过COM组件读取,QODBC读取100MB的
Excel
文件
的时候需要十几分钟,因为太慢,这种方法舍弃。
但是这个用法有问题,当机器没有安装Office的时候,是不能调用
,是一个非常好的开源软件库。
Q
Xlsx
配置方法
首先,下载
Qt
Xlsx
类,地址:https://github.com/dbzhang800/
Qt
Xlsx
Writer
1.首先,下载Perl5地址:https://www.perl.org/get.html
下载相应电脑相应的版本
下载好了之
Handling Microsoft
Excel
file
format -
Qt
Wiki里面总结了
Qt
读写
Excel
文件
的各种常用的方法,包括一些第三方的插件。
通常,在windos系统操作
Excel
上,
QT
有两种方式,一是通过COM组件,二是通过QODBC(数据库的方式)。
QODBC读取100MB的
Excel
文件
的时候需要十几分钟,因为太慢,这种方法舍弃。网上推荐是使用QAxObject通过COM组件读取,但是这个用法有问题,当机器没有安装Office的时候,是不能调用成功的,即使安装了WPS.
Python第三方包安装出现
file
is not a
zip
file
错误
使用pip install Python第三方包名.whl ,安装Python第三方包时,例如安装numpy-1.14.5+mkl-cp35-cp35m-win_amd64.whl,出现
file
is not a
zip
file
错误,原因是下载的过程中包出现了丢失,重新下载即可。图示如下:
。。。。。。
void slotExportBtn(){
QAxObject *
excel
= new QAxObject("
Excel
.Application");
if(
excel
->isNull()){
if(
excel
!= NULL){
excel
->dynamicCall("Quit()");
delete
excel
;
使用
Qt
自带类Q
Zip
Reader和Q
Zip
Writer,不用再自行编译zlib、qua
zip
,亲测简单快捷,使用方法如下:
1.在pro
文件
添加
QT
+= gui-private
2.添加下面两个头
文件
#include "
Qt
Gui/private/q
zip
reader_p.h"
#include "
Qt
Gui/private/q
zip
writer_p.h"
3.
zip
包解压缩
//! \brief
zip
Reader
zip
包解压缩
//! \param z...
该模块是一个开源的基于
Qt
库的C++库,可以用来快速创建和修改
Excel
文件
。
以下是一个简单的示例,演示如何使用
Qt
Xlsx
Writer模块创建和保存
Excel
文件
。
```c++
// include required header
file
s
#include <
Qt
Xlsx
>
int main()
// create a new
excel
file
Q
Xlsx
::Document
xlsx
;
// add a new sheet to
file
xlsx
.addSheet("Sheet1");
// write some data to sheet
xlsx
.write("A1", "Name");
xlsx
.write("B1", "Age");
xlsx
.write("A2", "John");
xlsx
.write("B2", 30);
// save
file
to disk
xlsx
.saveAs("example.
xlsx
");
return 0;
这个例子创建了一个名为“example.
xlsx
”的新
Excel
文件
,并在第一个工作表上添加了两列数据:一个“Name”和一个“Age”。
要编译此示例,请确保已将
Qt
Xlsx
Writer模块包括在项目中,并在源
文件
中包含以下
文件
:
```c++
#include <
Qt
Xlsx
>
最后,通过调用“saveAs”方法将
文件
保存到磁盘。如果您运行应用程序,将会生成一个新的
Excel
文件
,并将数据写入它。
注意,
Qt
Xlsx
Writer模块只能在
Qt
框架下使用,它不是标准C++库的一部分。因此,您需要在项目中包括
Qt
库,并将
Qt
Xlsx
Writer模块包含在项目中,才能使用它。