1. 下载并安装QXlsx库,详见之前的博文Qt子线程创建excel文件报错QObject: Cannot create children for a parent that is in a different thread.-CSDN博客
2.
// 创建一个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(); //经过这一步就可以得到正常的单元格数值,笔者的数值是双精度浮点型}