添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
酷酷的作业本  ·  为什么Java ...·  7 月前    · 
暴走的排球  ·  Index of ...·  9 月前    · 
有情有义的蚂蚁  ·  60 个神级 VS Code ...·  1 年前    · 
胆小的冰淇淋  ·  jQuery UI API – ...·  1 年前    · 

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-&gt;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模块包含在项目中,才能使用它。