21,494
社区成员
发帖
与我相关
我的任务
分享void CAdvertisingProcess::importexcel()
{
QFileInfo user_info(m_importxlsPath);
QString user_ffix = user_info.suffix();
if ((QString::compare(user_ffix, QString("xls"), Qt::CaseInsensitive) == 0) || (QString::compare(user_ffix, QString("xlsx"), Qt::CaseInsensitive) == 0))
{
QString user_absolute = user_info.absoluteFilePath();
Book* book = xlCreateBook();
if (book)
{
QByteArray pathba = user_absolute.toLocal8Bit();
if (book->load(pathba.data()))
{
Sheet* sheet = book->getSheet(0);
if (sheet)
{
int row = 0;
int col = 0;
while (1)
{
ADVERTISING_INFO userdata;
col = 7;
++row;
const char* s = sheet->readStr(row, col);
QString empno = QString::fromLocal8Bit(s);
if (empno.size() == 0)
{
break;
}
userdata.XQ = empno;
col++;
s = sheet->readStr(row, col);
userdata.LD = QString::fromLocal8Bit(s);
col++;
s = sheet->readStr(row, col);
userdata.DY = QString::fromLocal8Bit(s);
col++;
s = sheet->readStr(row, col);
userdata.DT = QString::fromLocal8Bit(s);
m_dataList.append(userdata);
}
ShowMessageBoxSlot(QString::fromLocal8Bit("提示"), QString::fromLocal8Bit("用户导入完成"));
UpdateAdInfo();
}
else
{
ShowMessageBoxSlot(QString::fromLocal8Bit("提示"), QString::fromLocal8Bit("导入失败,文件异常"));
}
}
else
{
qDebug() << "At first run generate !" << endl;
ShowMessageBoxSlot(QString::fromLocal8Bit("提示"), QString::fromLocal8Bit("导入失败,文件异常"));
}
book->release();
}
else
{
ShowMessageBoxSlot(QString::fromLocal8Bit("提示"), QString::fromLocal8Bit("导入失败,文件异常"));
}
}
else
{
ShowMessageBoxSlot(QString::fromLocal8Bit("提示"), QString::fromLocal8Bit("导入失败,文件异常"));
}
} QAxObject * worksheet = workbook->querySubObject("Worksheets(int)", 1);
我之前写过把excel文件读到sqlite的代码,读入直接用QAxObject,写操作用的一个开源库(很方便)你可以参考一下:https://blog.csdn.net/pyuxing/article/details/82903767#2excel_15