坑点
public: virtual int __thiscall QXlsx::Document::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@Document@QXlsx@@UAEHW4Call@QMetaObject@@HPAPAX@Z)
建立项目没有选择qt lib 没有meta
选择创建qt的库,新建空项目转qt有问题
使用
std::string strFileName = "参数数据";
QDate date = QDate::currentDate();
QString strFilePath = QFileDialog::getSaveFileName(this, TransString2Unicode("保存文件"), TransString2Unicode(strFileName) + date.toString("yyyyMMdd"), TransString2Unicode("(*.xlsx)"));
if (strFilePath.isEmpty())
{
return;
}
Document xlsx;
std::vector<CHeadInfo> vecHeadInfos = m_pParameterManager->GetModelRelatedHead().m_vecHeadInfos;
for (size_t i = 1; i < vecHeadInfos.size(); i++)
{
xlsx.write(1, i, TransString2Unicode(vecHeadInfos[i].m_strHeadContent));
}
std::vector<std::shared_ptr<CRelateModelData>> vecRelateModelDatas = m_pParameterManager->GetRecordData();
for (size_t i = 0; i < vecRelateModelDatas.size(); i++)
{
std::shared_ptr<CParameter> pParameter = std::dynamic_pointer_cast<CParameter>(vecRelateModelDatas[i]);
xlsx.write(2 + i, 1, TransString2Unicode(pParameter->GetParaSrcString()));
xlsx.write(2 + i, 2, pParameter->m_recvDateTime.toString("yyyy-MM-dd HH:mm:ss"));
xlsx.write(2 + i, 3, pParameter->m_dAngleXMajor);
xlsx.write(2 + i, 4, pParameter->m_dAngleYMinor);
xlsx.write(2 + i, 5, pParameter->m_dAngle);
xlsx.write(2 + i, 6, pParameter->m_dRadiantIntensity);
xlsx.write(2 + i, 7, pParameter->m_dAngularFluence);
xlsx.write(2 + i, 8, pParameter->m_dZ2);
xlsx.write(2 + i, 9, pParameter->m_dZ9);
}
bool bRet = xlsx.saveAs(strFilePath);
if (!bRet)
{
QMessageBox::critical(this, TransString2Unicode("错误"), TransString2Unicode("创建文件失败!"));
return;
}