Qt自定义筛选表头列并保存到Excel ,对表头列自定义筛选后,重新计算列数及显示对应数据。
QStringList fieldCountLst; fieldCountLst.append("G7"); fieldCountLst.append("H7"); fieldCountLst.append("I7"); fieldCountLst.append("J7"); QStringList fieldCountLst2; fieldCountLst2.append("ColumnA"); fieldCountLst2.append("ColumnB"); fieldCountLst2.append("ColumnC"); fieldCountLst2.append("ColumnD"); // 筛选列 QStringList fieldLst; fieldLst.append("A"); fieldLst.append("B"); fieldLst.append("C"); fieldLst.append("D"); QList<int> validLst; if (fieldLst.contains("A")) { validLst.append(1); } if (fieldLst.contains("B")) { validLst.append(2); } if (fieldLst.contains("C")) { validLst.append(3); } if (fieldLst.contains("D")) { validLst.append(4); } for (int i = 0; i < validLst.size(); ++i) { // 表头 qDebug() << fieldCountLst[i] << fieldCountLst2[validLst[i] - 1]; } QStringList dataLst; dataLst.append("DataA"); dataLst.append("DataB"); dataLst.append("DataC"); dataLst.append("DataD"); for (int i = 0; i < validLst.size(); ++i) { if (validLst[i] != 3) { // 数据 qDebug() << 7 + i << dataLst[validLst[i] - 1]; } } if (validLst.contains(3)) { // 特殊数据 qDebug() << 9 - (4 - validLst.size()) << dataLst[2]; }