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(); //经过这一步就可以得到正常的单元格数值,笔者的数值是双精度浮点型
    }
相关推荐
Pocker_Spades_A2 分钟前
飞算JavaAI家庭记账系统:从收支记录到财务分析的全流程管理方案
java·开发语言
CHEN5_021 小时前
【Java基础常见辨析】重载与重写,深拷贝与浅拷贝,抽象类与普通类
java·开发语言
Despacito0o1 小时前
C语言基础:变量与进制详解
java·c语言·开发语言
nightunderblackcat2 小时前
进阶向:人物关系三元组,解锁人物关系网络的钥匙
开发语言·python·开源·php
光头闪亮亮2 小时前
C++凡人修仙法典 - 宗门版-上
c++
光头闪亮亮2 小时前
C++凡人修仙法典 - 宗门版-下
c++
John_ToDebug3 小时前
Chromium base 库中的 Observer 模式实现:ObserverList 与 ObserverListThreadSafe 深度解析
c++·chrome·性能优化
科大饭桶3 小时前
C++入门自学Day11-- String, Vector, List 复习
c语言·开发语言·数据结构·c++·容器
范范之交3 小时前
JavaScript基础语法two
开发语言·前端·javascript
Felven3 小时前
C. Game of Mathletes
c语言·开发语言