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(); //经过这一步就可以得到正常的单元格数值,笔者的数值是双精度浮点型
    }
相关推荐
rainFFrain15 分钟前
智能指针(2)
开发语言·c++·visual studio
齐适杨1 小时前
Databinding(kotlin)
android·开发语言·kotlin
fighting的码农(zg)-GPT1 小时前
【C++】C++ 继承特点,单继承,多继承,以及同一个父类在子类和子子类中继承有什么问题
开发语言·c++
天上掉下来个程小白1 小时前
Stream流的终结方法(二)——collect
java·开发语言·windows
Fairy_sevenseven1 小时前
【三十一】【QT开发应用】QPushButton与QMenu
开发语言·qt·命令模式
-芒果酱-1 小时前
DDA画线算法例题
开发语言·c++·算法
小飞猪Jay1 小时前
C++面试速通宝典——20
c++·面试
chian-ocean1 小时前
【C++11】新特性
java·开发语言·c++
猪蹄手1 小时前
C/C++复习(一)
c语言·开发语言·c++
s_little_monster1 小时前
【QT】信号和槽
开发语言·数据库·c++·经验分享·笔记·qt·学习