Qt打开excel文件,并读取指定单元格数据

  1. 下载并安装QXlsx库,详见之前的博文Qt子线程创建excel文件报错QObject: Cannot create children for a parent that is in a different thread.-CSDN博客

cpp 复制代码
// 创建一个XlsxDocument对象
    QString filename = "D:\\mydocuments\\data_acquisition\\data\\test.xlsx";
    QXlsx::Document xlsx(filename);
    // 打开Excel文件
    if (!xlsx.load()) {
        qDebug() << "Failed to open Excel file.";
        return;
    }
    // 获取工作表名称列表
    QStringList sheetNames = xlsx.sheetNames();
    if (sheetNames.isEmpty()) {
        qDebug() << "No sheets found in the Excel file.";
    }
    // 选择第一个工作表
    xlsx.selectSheet(sheetNames.first());
    // 指定要读取的列(例如,第2列,索引从0开始)
    int columnIndex = 1; // 列B(Excel中的第二列)

    // 读取指定列的数据
    int rowCount = xlsx.dimension().rowCount();
    for (int row = 1; row <= rowCount; ++row) { // 跳过标题行,从第二行开始读取数据
        QVariant cellValue = xlsx.cellAt(row, columnIndex)->value();
        double voltage = cellValue.toDouble(); //经过这一步就可以得到正常的单元格数值,笔者的数值是双精度浮点型
    }
相关推荐
linweidong4 小时前
C++ 模块化编程(Modules)在大规模系统中的实践难点?
linux·前端·c++
冷雨夜中漫步8 小时前
Python快速入门(6)——for/if/while语句
开发语言·经验分享·笔记·python
半桔8 小时前
【IO多路转接】高并发服务器实战:Reactor 框架与 Epoll 机制的封装与设计逻辑
linux·运维·服务器·c++·io
HABuo9 小时前
【linux文件系统】磁盘结构&文件系统详谈
linux·运维·服务器·c语言·c++·ubuntu·centos
我在人间贩卖青春10 小时前
C++之多重继承
c++·多重继承
m0_7369191010 小时前
C++代码风格检查工具
开发语言·c++·算法
2501_9449347310 小时前
高职大数据技术专业,CDA和Python认证优先考哪个?
大数据·开发语言·python
黎雁·泠崖11 小时前
【魔法森林冒险】5/14 Allen类(三):任务进度与状态管理
java·开发语言
2301_7634724612 小时前
C++20概念(Concepts)入门指南
开发语言·c++·算法
阿猿收手吧!12 小时前
【C++】std::promise原理与实战解析
c++