首页 > 系统相关 >QT cmake工程使用QXlsx源码操作execl,无需编译QXlsx,也不需要下载其他东西,windows和ubuntu都可以

QT cmake工程使用QXlsx源码操作execl,无需编译QXlsx,也不需要下载其他东西,windows和ubuntu都可以

时间:2023-10-20 20:23:05浏览次数:34  
标签:execl QXlsx set CMAKE 源码 xlsxR include mainwindow

一、下载地址:

链接

二、进入下载好的QXlsx目录下,取出QXlsx目录和README.md待用

三、用qt创建一个简单的cmake工程,将QXlsx目录和README.md文件放到cmakelists.txt所在目录

 四、修改cmakelists.txt文件

cmake_minimum_required(VERSION 3.5)

project(xlsxTest LANGUAGES CXX)

set(CMAKE_INCLUDE_CURRENT_DIR ON)

set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)

set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

find_package(QT NAMES Qt6 Qt5 COMPONENTS Widgets Core Gui REQUIRED)
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Core Widgets Gui REQUIRED)

add_subdirectory(QXlsx)  #添加

if(ANDROID)
  add_library(xlsxTest SHARED
    main.cpp
    mainwindow.cpp
    mainwindow.h
    mainwindow.ui
  )
else()
  add_executable(xlsxTest
    main.cpp
    mainwindow.cpp
    mainwindow.h
    mainwindow.ui
  )
endif()

target_link_libraries(xlsxTest PRIVATE Qt5::Widgets QXlsx::QXlsx)  #增加 QXlsx::QXlsx

五、在QtCreator查看工程结构

 六、代码

#include "mainwindow.h"
#include "./ui_mainwindow.h"

#include <QCoreApplication>
#include <QDebug>
#include <QDir>
#include <QVariant>
#include <QtCore>
#include <QtGlobal>

#include "xlsxcellrange.h"
#include "xlsxchart.h"
#include "xlsxchartsheet.h"
#include "xlsxdocument.h"
#include "xlsxrichstring.h"
#include "xlsxworkbook.h"


MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);

       // 第一步:定义xlsw
       QXlsx::Document xlsxR("Test.xlsx");

       // 第二布:加载
       if (xlsxR.load()) // load excel file
       {
           xlsxR.selectSheet(xlsxR.sheetNames()[0]);
           QXlsx::CellRange range = xlsxR.dimension();

           // 第三步:遍历,获取数据
           for(int i =1;i<=range.columnCount();i++)
           {
               for(int j =1;j<=range.rowCount();++j)
               {   
                   if(xlsxR.cellAt(j,i))
                   {
                       // 遍历行和列,拿到数据 :xlsxR.cellAt(i,j)->value().toInt()
                       qDebug()<< xlsxR.cellAt(j,i)->value().toByteArray();
                   }
               }
           }

       } else {
           qDebug() << "打开文件失败";
       }

}

MainWindow::~MainWindow()
{
    delete ui;
}

输出:

 

七、text.xlsx文件自备

 

标签:execl,QXlsx,set,CMAKE,源码,xlsxR,include,mainwindow
From: https://www.cnblogs.com/RedWetPlace/p/17777925.html

相关文章

  • 基于Spring boot电商平台-计算机毕业设计源码+LW文档
    一.毕业设计的内容本设计是基于Springboot技术结合MySQL数据库,采用Myeclipse开发工具以及Java语言设计的网上商品购物系统。网上商品购物系统分为前台和后台,前台用于用户查看各种商品,检索想要的商品,还可以进行会员注册和商品选购等功能,而且在购物车提交订单后可以把订单数据传递到......
  • 基于spring boot的健身房管理系统-计算机毕业设计源码+LW文档
    1、题  目:基于springboot的健身房管理系统    2、题目来源:生产实践3、意  义:随着时代的发展,人们对健身和健康的也越来越重视,在很多城市中健身房也随处可见,更多的年轻人喜欢在下班和空闲时间去健身房进行健身和锻炼以提高自己的体质和改变自己的形体。通常健身有......
  • 基于Spring Boot的图书馆管理系统-计算机毕业设计源码+LW文档
    摘要随着时代的发展,图书的重要性显示的越来越突出了,尤其是知识大爆炸的这个年代,人们需要掌握的知识也越来越多,只有不断的提高自己才能够更好的立足于社会,但是通常情况下很多图书的价格比较高,这个时候就可以通过图书馆借阅图书来达到图书阅读的目的,为了让图书借阅变的更加的方便我......
  • 6基于SpringBoot + Vue 的超市进销存系统-计算机毕业设计源码+LW文档
    摘 要 超市管理系统是指一种针对超市的信息化管理系统,它通过计算机技术和网络技术,对超市的采购、销售、库存等业务进行管理和控制。随着社会经济的发展和人们生活水平的提高,超市已经成为人们日常生活中必不可少的消费场所,而超市管理系统的出现则极大地提高了超市的经营效率和......
  • element-plus 源码调试
    1. 从github上克隆代码到本地gitclonehttps://github.com/element-plus/element-plus.git2.安装pnpmnpminstallpnpm-g3.使用pnpm安装依赖包pnpmi4.安装好以后运行项目pnpmrundev 执行命令发现他跑的是play项目,找到play文件夹中的App.vue文件,可以引......
  • 直播平台源码,Flutter 自定义 虚线 分割线
    直播平台源码,Flutter自定义虚线分割线学习使用Flutter进行虚线自定义控件练习 //自定义虚线(默认是垂直方向)classDashedLindextendsStatelessWidget{ finalAxisaxis;//虚线方向 finaldoubledashedWidth;//根据虚线的方向确定自己虚线的宽度 finald......
  • 视频直播app源码,去掉导航条和tabbar线条
    视频直播app源码,去掉导航条和tabbar线条去掉导航条底部线条 [self.navigationController.navigationBarsetBackgroundImage:[[UIImagealloc]init]forBarMetrics:UIBarMetricsDefault];  [self.navigationController.navigationBarsetShadowImage:[[UIImagealloc]in......
  • RIS/PACS系统源码 智能化的影像报告系统,三维影像处理功能
    影像科室信息管理系统源码 RIS/PACS系统源码 PACS三维影像处理系统源码影像科室信息管理系统,它包括RIS系统、PACS工作站和PACS服务器系统。提供强大的结构和智能化的影像报告系统、支持各种图象操作,以及实现图像的路由、预取、多级多层次存储。系统特点适用于各类体检中心,门诊部......
  • 软件依赖管理-源码依赖、接口依赖、服务依赖
    在软件开发领域中,源码依赖、接口依赖和服务依赖是三种不同类型的依赖关系,它们有不同的特点和优缺点。下面我会详细解释它们的区别和各自的优缺点源码依赖(SourceCodeDependency)源码依赖是指一个软件项目依赖于其他软件项目的源代码。这通常发生在开源软件开发中,一个项目使用了......
  • Vue源码学习(十二):列队处理(防抖优化,多次调用,只处理一次)
    好家伙, 本篇讲的是数据更新请求列队处理 1.一些性能问题数据更新的核心方法是watcher.updata方法实际上也就是vm._updata()方法,vm._updata()方法中的patch()方法用于将新的虚拟DOM树与旧的虚拟DOM树进行比较,并将差异更新到实际的DOM树上.这一步是非常消耗性能的 2.......