文章目录[隐藏] Qt xlsx 库读取 Excel 单元格代码 Qt xlsx 库读取 Excel 单元格代码 QString MainWindow::getExcelItemData(QString fileName, QString itemName) { QXlsx::Document xlsx(fileName);/*打开一个 book1 的文件*/ QString itemData = xlsx.read(itemName).toString(); qDebug() << "[" << __FUNCTION__ <<__LINE__ << "] :" << itemData; return itemData; } QString MainWindow::getExcelItemData(QString fileName, int row, int col) { QString itemData ; if(row < 1 || col < 1) { return "-1"; } QXlsx::Document xlsx(fileName);/*打开一个 book1 的文件*/ QStringList sheetList = xlsx.sheetNames(); if (sheetList.size() > 0) { itemData = xlsx.read(row, col).toString(); qDebug() << "[" << __FUNCTION__ <<__LINE__ << "] :" << itemData; } else { qDebug() << "[" << __FUNCTION__ <<__LINE__ << "] : read error!" ; return "-1"; } return itemData; } QString MainWindow::getExcelAllInfos(QString fileName) { //载入 excel 文件 QXlsx::Document xlsx(fileName); QString itemData; //获取工作表数目,并且选择第一个 QStringList sheetList = xlsx.sheetNames(); if (sheetList.size() > 0) { //获取数据表名字 xlsx.selectSheet(sheetList[0]); //获取表格行数和列数 QXlsx::CellRange range=xlsx.dimension(); QString xm = ""; QString sfz = ""; for (int i = 2; i < range.rowCount()+1; ++i) { //读取工作表有用数据插入数据库 if (xlsx.cellAt(i, 2) != 0) { xm = xlsx.cellAt(i, 2)->value().toString().trimmed(); qDebug() << "[" << __FUNCTION__ <<__LINE__ << "] :" << xm; } if (xlsx.cellAt(i, 3) != 0) { sfz= xlsx.cellAt(i, 3)->value().toString().trimmed(); qDebug() << "[" << __FUNCTION__ <<__LINE__ << "] :" << sfz; } if (!xm.isEmpty() && !sfz.isEmpty()) { xm = ""; sfz = ""; } } } else { return "-1"; } qDebug() << "[" << __FUNCTION__ <<__LINE__ << "] :" << itemData; return itemData; }