上一遍讲述了基于Qt5.9.8下编译Xtxlsx,本遍讲述基于Qt5.9.8下使用Qtxlsx

1、打开Qt Creator 4.8.2(Enterprise),创建工程,选择版本

  

2、在pro文件中添加QT += xlsx

  

3、在main.cpp中添加头文件

  

4、main函数添加如下代码

  QFile::remove("D:/1.xlsx");

  QXlsx::Document doc("D:/1.xlsx");

  

  //报表标题(1-4行)

  doc.setRowHeight(1,4,30);

  Format title_format;

  title_format.setFontSize(11);

  title_format.setFontBold(true);

  title_format.setFontColor(QColor(Qt::red));

  title_format.setBorderStyle(Format::BorderThin);

  title_format.setHorizontalAlignment(Format::AlignLeft);

  title_format.setVerticalAlignment(Format::AlignVCenter);

  doc.mergeCells("A1:H1",title_format);

  doc.mergeCells("A2:H2",title_format);

  doc.mergeCells("A3:H3",title_format);

  doc.mergeCells("A4:H4",title_format);

  doc.write("A1","巡视单位:高岐变");

  doc.write("A2","巡视路线:安防巡视");

  doc.write("A3","巡视时间:2019-08-28 14:47:30");

  doc.write("A4","巡视人员:hs");

  //巡视属性(5行)

  doc.setColumnWidth(1,15);

  doc.setColumnWidth(2,15);

  doc.setColumnWidth(3,15);

  doc.setColumnWidth(4,15);

  doc.setColumnWidth(5,15);

  doc.setColumnWidth(6,50);

  doc.setColumnWidth(7,50);

  doc.setColumnWidth(8,15);

  doc.setRowHeight(5,20);

  Format attr_format;

  attr_format.setFontSize(11);

  attr_format.setFontBold(true);

  attr_format.setFontColor(QColor(Qt::black));

  attr_format.setBorderStyle(Format::BorderThin);

  attr_format.setHorizontalAlignment(Format::AlignHCenter);

  attr_format.setVerticalAlignment(Format::AlignVCenter);

  attr_format.setPatternBackgroundColor(QColor(Qt::gray));

  doc.write("A5","变电站名称",attr_format);

  doc.write("B5","巡视路线名",attr_format);

  doc.write("C5","巡视点名",attr_format);

  doc.write("D5","分析时间",attr_format);

  doc.write("E5","分析结果",attr_format);

  doc.write("F5","原始图片",attr_format);

  doc.write("G5","分析图片",attr_format);

  doc.write("H5","备注",attr_format);

  //内容(从第6行开始)

  for(int i=6;i<20;i++)

  {

    doc.setRowHeight(i,180);

    Format cell_format;

    cell_format.setFontSize(11);

    cell_format.setFontColor(QColor(Qt::black));

    cell_format.setBorderStyle(Format::BorderThin);

    cell_format.setHorizontalAlignment(Format::AlignHCenter);

    cell_format.setVerticalAlignment(Format::AlignVCenter);

    doc.write(i,1,"测试变电站",cell_format);

    doc.write(i,2,"测试路线",cell_format);

    doc.write(i,3,"测试点",cell_format);

    doc.write(i,4,"2019-11-11 00:00:00",cell_format);

    doc.write(i,5,"无",cell_format);

    QImage image1("D:/CPSB_test_2016.jpg");

    QImage image2("D:/ZJFX_test_2016.jpg");

    doc.insertImage(i-1,6-1,image1.scaled(360,240,Qt::IgnoreAspectRatio,Qt::SmoothTransformation));

    doc.insertImage(i-1,7-1,image2.scaled(360,240,Qt::IgnoreAspectRatio,Qt::SmoothTransformation));

    doc.write(i,8," ",cell_format);

  }

  doc.save();

5、最后生成的报表如下

6、更多的使用可以参照E:/QtXlsxWriter-master/examples

  

  里面包含了Qtxlsx各种各样的使用。

Qtxlsx的使用的更多相关文章

  1. qt 使用qtxlsx 读写excel

    https://github.com/dbzhang800/QtXlsxWriter 下载qtxlsx地址 QtXlsx is a library that can read and write Ex ...

  2. 使用QtXlsx来读写excel文件

    概述:QtXlsx是功能非常强大和使用非常方便的操作excel类库.包括对excel数据读写.excel数据格式设置及在excel里面根据数据生成各种图表. 下面重点介绍如何安装和使用QtXlsx. ...

  3. windows下Qt编译Qtxlsx库和qtxlsx库的使用方法

    最近接了个项目,合作的学长让用Qt写,而其中最重要的需求是将数据库的数据写入excel表格中和将excel的数据导入到数据库中,自己查阅了和多资料,最后决定使用qtxlsx开源库来操作excel,在编 ...

  4. 基于Qt 5.9.8,编译Qtxlsx

    1.源码下载地址:https://github.com/dbzhang800/QtXlsxWriter 2.下载并安装编译时需要的工具 Perl:https://www.perl.org/get.ht ...

  5. Qtxlsx

    https://blog.csdn.net/qq_40194498/article/details/80817264

  6. 【转贴】-- 基于QT的跨平台应用开发

    原帖地址:http://www.cnblogs.com/R0b1n/p/4106613.html 1 Qt简介 Qt是1991年奇趣科技开发的一个跨平台的C++图形用户界面应用程序框架.它提供给应用程 ...

  7. QtXlsxWriter

    Code Issues26 Pull requests2   Pulse Graphs HTTPS clone URL You can clone with HTTPS orSubversion. C ...

  8. vs2008中xlslib与libxls库的编译及使用

    C++用来操作Excel的方法很多,但是涉及到跨平台,同时又要对Excel的读写操作兼顾,而且免费的库,那应该是要用xlslib和libxls了.由于技术比较菜,折腾这个折腾了一个星期了.最开始是使用 ...

  9. 39.QT-Qtxlsx库使用

    之前参考博客https://blog.csdn.net/c3060911030/article/details/51560239下载Qtxlsx库,然后编译的时候,显示: error: invalid ...

随机推荐

  1. [vue学习] 卡片展示分行功能简单实现

    如图所示,实现简单的卡片展示分行功能. 分行功能较多地用于展示商品.相册等,本人在学习的过程中也是常常需要用到这个功能:虽然说现在有很多插件都能实现这个功能,但是自己写出来,能够理解原理,相信能够进步 ...

  2. 阿里云云服务器ECS开发者工具包(SDK)

    阿里云云服务器ECS开发者工具包(SDK) 前提条件 使用Alibaba Cloud SDK for Java,您需要一个阿里云账号和访问密钥(AccessKey). 请在阿里云控制台中的Access ...

  3. Mysql主从复制,双主热备

    Mysql主从复制: 主从复制: 主机准备工作: 开启bin.Log 注意:server-id  是唯一的值 重启mysql:service mysql restart 查看是否开启成功: 查看当前状 ...

  4. keil(MDK)错误记录

    1.a parameter list without types is only allowed in a function definition(没有类型的参数列表只允许在函数定义中使用) 2.Er ...

  5. 关于pgsql 的json 和jsonb 的数据查询操作笔记整理

    关于pgsql 的json 和jsonb 的数据处理笔记 1. json 和jsonb 区别两者从用户操作的角度来说没有区别,区别主要是存储和读取的系统处理(预处理)和耗时方面有区别.json写入快, ...

  6. Euler Sums系列(一)

    \[\Large\sum_{n=1}^{\infty} \frac{H_{n}}{2^nn^4}\] \(\Large\mathbf{Solution:}\) Let \[\mathcal{S}=\s ...

  7. MySQL的多表查询学习笔记

    一.案例准备 create table dept( id int primary key auto_increment, name ) ); insert into dept values(null, ...

  8. 第八届极客大挑战 Web-iPhone X

    题目: 解题思路: 第一次看到html里只有字其他啥也没有的题,一脸懵逼,学长提示抓包改包,于是开始我的苦逼解题. 0x01 抓包 0x02 改包 由于题目说只有iphoneX才能接受这个websit ...

  9. angular9 学习笔记

    前言: AngularJS作为Angular的最早版本,2010年发布其初始版本,至今已经10年了.除了这个最初版本(没学过),项目上一直从2.x 到至今项目使用8.x版本,现在Angular在201 ...

  10. python写入文件中遇到 UnicodeEncodeError: ‘gbk’ codec can’t encode character 错误的解决办法

    在写入TXT文件时,某些页面总是报UnicodeEncodeError: ‘gbk’ codec can’t encode character错误,网上找了半天也没找到解决办法. 后来终于找到了解决办 ...