Qt导出数据到excel
Qt导出数据到excel
Qt导出数据到excel,方法有很多,Qt里也有自带的axcontainer模块
中的#include<QAxObject>
类可以导出数据到excel,但是这种方法依赖于你电脑上打开excel的软件,可能换一台电脑就不能正常运行,使用库函数起来也比较麻烦而且导出数据的速度贼慢(亲身体验过),这种方式还是不建议用的。
推荐使用第三方库导出数据,这里我用的是 使用 xlsx库操作excel表格。
下载QtXlsx类,这是下载地址。
关于这个库的使用方法有两种使用方法:
1.使用Xlsx作为Qt5的附加模块,(注意:此步骤需要下载安装Perl)
2. 直接使用源代码。
1.使用Xlsx作为Qt5的附加模块
参考链接
1.首先,需要下载安装Perl5,这是地址。
2.根据你Qt版本下载对应版本,现在大部分都用64位的了。(要匹配),ActivePerl-5.22.1.2201-MSWin32-x64-299574.msi
,下载好了之后就一直默认安装即可。安装好了在打开你的Qt(笔者使用的是Qt5.6.0 msvc版本)和下载的上面下载的QtXlsx代码。
3.开始编译QtXlsx代码,编译成功后,在你编译的目录下回生成lib
文件和需要包含的文件(include
)还有一个模块pri
文件,这里有我直接编译生成好的文件,
链接
:https://pan.baidu.com/s/18K_OAVVUsmTwAkSi3vuI0w
提取码
:9w4f
4.添加这些文件到你的Qt的库中
(1) 拷贝 include文件下的文件到你的Qt安装目录D:\Qt\Qt5.7.0\5.7\mingw53_32\include (直接copy,无需修改任何内容)
(2)拷贝lib文件夹下Qt5Xlsxd.lib
Qt5Xlsx.lib
Qt5Xlsx.prl
Qt5Xlsxd.prl
4个文件到你的Qt的lib下 D:\Qt\Qt5.7.0\5.7\mingw53_32\lib
(3)拷贝lib文件夹下的Qt5Xlsx.dll
Qt5Xlsxd.dll
库文件到你的Qt库路径下 D:\Qt\Qt5.7.0\5.7\mingw53_32\bin
(4)拷贝 mkspecs\modules 文件夹下的qt_lib_xlsx.pri
到你的Qt模块下
D:\Qt\Qt5.7.0\5.7\mingw53_32\mkspecs\modules
5.qt使用qxlsx:
pro文件里面加上 QT += xlsx
下面是示例代码:
#include <QtXlsx>int main(){QXlsx::Document xlsx;xlsx.write("A1", "Hello Qt!");xlsx.saveAs("Test.xlsx");return 0;}
2.直接使用QtXlsx源代码(推荐)
该软件包包含一个qtxlsx.pri
文件,它允许您将组件集成到使用qmake进行构建步骤的应用程序中。
1.下载源代码。
2.将下载目录底下的src目录下的xlsx
目录全部拷贝放在你要添加的项目目录(和pro文件同一级)中。
3.将以下行添加到你的项目中的pro文件中:
INCLUDEPATH += $$PWD xlsx
include(xlsx/qtxlsx.pri)
4.保存后,然后就可以在你的项目工程中看到多了一个qtxlsx
的目录。
5.使用(应用实例)
#include"xlsxdocument.h"
#include "xlsxformat.h"
#include "xlsxcellrange.h"
#include "xlsxchart.h"QXlsx::Document xlsx;QXlsx::Format format1;/*设置该单元的样式*/format1.setFontColor(QColor(Qt::red));/*文字为红色*/format1.setPatternBackgroundColor(QColor(152,251,152));/*北京颜色*/format1.setFontSize(15);/*设置字体大小*/format1.setHorizontalAlignment(QXlsx::Format::AlignHCenter);/*横向居中*/format1.setBorderStyle(QXlsx::Format::BorderDashDotDot);/*边框样式*/xlsx.write("A1", "Hello Qt!", format1);/*写入文字,应该刚才设置的样式*/xlsx.write(2, 1, 12345, format1);/*写入文字,应该刚才设置的样式*/QXlsx::Format format2;/*重新设置另一个单元的样式*/format2.setFontBold(true);/*设置加粗*/format2.setFontUnderline(QXlsx::Format::FontUnderlineDouble);/*下双划线*/format2.setFillPattern(QXlsx::Format::PatternLightUp);/*填充方式*/xlsx.write("A4", "=44+33", format2);/*写入文字,应该刚才设置的样式*/xlsx.write("C4", true, format2);if(!xlsx.selectSheet("ziv")){/*在当前打开的xlsx文件中,找一个名字为ziv的sheet*/xlsx.addSheet("ziv");//找不到的话就添加一个名为ziv的sheet}for (int i=10; i<20; ++i) {/*写入一串数字*/xlsx.write(i, 1, i*i*i); //A10:A19xlsx.write(i, 2, i*i); //B10:B19xlsx.write(i, 3, i*i-1); //C10:C19}QXlsx::Chart *pieChart = xlsx.insertChart(3, 5, QSize(300, 300));/*在3行5列的位置插入一个图标*/pieChart->setChartType(QXlsx::Chart::CT_Pie);/*插入一个饼形图*/pieChart->addSeries(QXlsx::CellRange("A10:A19"));/*饼形图添加数据*/pieChart->addSeries(QXlsx::CellRange("B10:B19"));pieChart->addSeries(QXlsx::CellRange("C10:C19"));QXlsx::Chart *barChart = xlsx.insertChart(3, 13, QSize(300, 300));/*在3行13列的位置插入一个图标*/barChart->setChartType(QXlsx::Chart::CT_Bar);/*条形图*/barChart->addSeries(QXlsx::CellRange("A10:C19"));/*给条形图加入数据*/xlsx.saveAs("book1.xlsx");/*保存*/QXlsx::Document xlsx2("Book1.xlsx");/*复制book1到book2*/xlsx2.saveAs("Book2.xlsx");
Qt导出数据到excel相关推荐
- QT导出数据到Excel的方法
一.系统库中自带的写入方法写入Excel 使用QAxObject,系统自带的参数. 使用方法参考:https://blog.csdn.net/cannon_qi/article/details/799 ...
- Qt导出数据到EXCEL的两种方式
一.导出到csv格式,这种格式不用安装office QString DModel::exportDataToCSV(QString lx) {QString dtStr="d:/" ...
- Qt 表格导出数据为 excel html csv
Qt 表格导出数据为 excel html csv 示例 使用WPS导出出错问题 参考: 从QTableView中导出数据到excel(一) qt QTableWidget&&QTab ...
- java导出为excel文件_java导出数据到excel文件
有的时候,将一些有用的数据导出到excel是很有必要的.比如说,我现在在做一个学校的在线教学平台,有一个需求是:将学生成绩导出到excel文件中去. 那怎样实现用java导出数据到excel文件呢?? ...
- 百度指数常见php框架,怎么导出数据到excel表格-如何将百度指数数据导出到Excel表格...
如何将百度指数数据导出到Excel表格 第一步:打开CAD.CAD命令行输入"Li"."选择对象"选需要提取坐标的多段线.回车. 第二步:将CAD文本框中的数据 ...
- arcengine遍历属性表_【程序之坑】小程序云开发导出数据到excel表
本文解决了小程序云开发导出数据到excel的bug,并给出了分析的过程,同时简化了程序为一个云函数,一个本地函数,逻辑更简单.文章结尾给出了完整源代码 小程序云开发为没有服务器的小程序开发者提供了便利 ...
- python输出数据到excel-python如何导出数据到excel文件
python导出数据到excel文件的方法: 1.调用Workbook()对象中的add_sheet()方法wb = xlwt.Workbook() ws = wb.add_sheet('A Test ...
- python输出数据到excel-Python从数据库导出数据到Excel
#coding=utf-8 import pymysql import xlwt import importlib,sys importlib.reload(sys) # __author__ = ' ...
- (转)另一篇:VC导出数据到EXCEL
另一篇:VC导出数据到EXCEL 2010-08-28 17:03:47| 分类: 默认分类 | 标签: |字号大中小 订阅 我们制作应用软件的时候,经常要把结果以报表的形式输出,当前使用较为广泛 ...
最新文章
- Windows 下面 redis 发布为服务的官方方法
- C语言实验——打印金字塔_JAVA
- js获取时间段内属于星期一的日期们
- jzoj4017-逃跑【0/1分数规划,线段树,dp】
- ASP.NET Core Web API
- Spring Cloud面试题
- leetcode - 967. 连续差相同的数字(集合、递归、动态规划)
- bzoj1596[Usaco2008 Jan]电话网络*
- Avalanche发布AvalancheGo v1.2.3版本
- HTML5项目笔记8:使用HTML5 的跨域通信机制进行数据同步
- Microsoft Office Mobile 2010 Beta 于 4 月 5 日过期
- 适配器模式之解释器模式
- 程序员面试金典--变位词排序
- 大数据Hadoop生态圈
- 【Python ASCII码转换】——制作ASCII码转换程序,并打包为应用程序
- 电子通信协议之CAN总线协议篇
- 极客空间-MySQL实战45天-第三天
- Vue3动态加载图片
- 免费高清录直播的软件分享
- android手机的语音助手在哪里设置,华为语音助手在哪设置 华为语音助手唤醒具体步骤...