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(); //经过这一步就可以得到正常的单元格数值,笔者的数值是双精度浮点型
    }
相关推荐
蜡笔小马3 分钟前
13.C++设计模式-策略模式
c++·设计模式·策略模式
我命由我123456 分钟前
Android 开发问题:TextView 内容超过宽度时,默认不会换行
android·开发语言·java-ee·android studio·android jetpack·android-studio·android runtime
计算机安禾6 分钟前
【c++面向对象编程】第36篇:析构函数应永远不抛出异常——原因与最佳实践
开发语言·c++
一条泥憨鱼10 分钟前
【Java 进阶】LinkedHashMap 与 TreeMap
java·开发语言·数据结构·笔记·后端·学习
ゆづき10 分钟前
假如编程语言们有外号
java·c语言·c++·python·学习·c#·生活
凤山老林11 分钟前
63-Java LinkedList(链表)
java·开发语言·链表
恣艺18 分钟前
用Go从零实现一个高性能KV存储引擎:B+Tree索引、WAL持久化、LRU缓存的工程实践
开发语言·数据库·redis·缓存·golang
kkeeper~9 小时前
0基础C语言积跬步之深入理解指针(5下)
c语言·开发语言
一直不明飞行9 小时前
Java的equals(),hashCode()应该在什么时候重写
java·开发语言·jvm
REDcker9 小时前
有限状态机与状态模式详解 FSM建模Java状态模式与C++表驱动模板实践
java·c++·状态模式