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;
}

浙公网安备 33010602011771号