#ifndef EXPORTREPORTMANAGER_H # define EXPORTREPORTMANAGER_H # include class ProjectInfo; class QWord; class QAxObject; class ExportReportManager : public QObject { Q_OBJECT public: explicit ExportReportManager(QObject *parent = nullptr); ~ExportReportManager(); ProjectInfo *proj() const; void setProj(ProjectInfo *proj); int evalType() const; void setEvalType(int type); bool exportReport(); private: // 初始化 word bool createWord(); // 插入不同评估类型下共同的信息 void insertCommonInfo(); // 填充方案评估方案设计信息 void insertSchemeDesignInfo(); // 填充方案评估指标信息 void insertSchemeIndex(); // 填充方案数据 void insertSchemeData(); // 在一个书签位置插入文字 bool insertText(const QString &bookmark, const QString &text); // 在一个标签位置插入表格 QAxObject *insertTable(QString bookmark, int row, int column); void setCellString(QAxObject *table, int row, int column, const QString &text); void mergeCells(QAxObject *table, int row, int column, int rowSpan, int columnSpan); signals: private: ProjectInfo *m_proj = nullptr; // 项目 int m_evalType = 0; // 报告评估类型 QWord *m_word = nullptr; }; #endif // EXPORTREPORTMANAGER_H /* bmSchemes->dynamicCall("Select(void)"); QAxObject *selection = m_word->getWordApp()->querySubObject("Selection"); if (!selection) return; selection->dynamicCall("InsertAfter(QString&)", "\n"); // selection->dynamicCall("MoveLeft(int)", 1); selection->querySubObject("ParagraphFormat")->dynamicCall("Alignment", "wdAlignParagraphCenter"); // selection->dynamicCall("TypeText(QString&)", "Table Test");//设置标题 QAxObject *range1 = selection->querySubObject("Range"); QAxObject *tables = doc->querySubObject("Tables"); QAxObject *table = tables->querySubObject("Add(QVariant,int,int)", range1->asVariant(), 2, 2); */ /** * 方案优选评估标签名称 * * 封面 * 项目名称:bmProjName,单位:bmProjUnit,时间:bmProjDate * * 评估目的 * 评估目的:bmEvalPurpose * * 方案设计 * 方案描述:bmSchemes * * 评估指标管理 * 描述项目名称:bmProjName31 * 表格项目名称:bmProjName32 * 表格:bmIndexTable * * 方案数据设置 * 表格项目名称:bmProjName41 * * 2023-12-13 by chengxr */ /** 【中文字号】 【英文字号】 【毫米】 【像素】 1英寸 72pt 25.30mm 95.6px 大特号 63pt 22.14mm 83.7px 特号 54pt 18.97mm 71.7px 初号 42pt 14.82mm 56px 小初 36pt 12.70mm 48px 一号 26pt 9.17mm 34.7px 小一 24pt 8.47mm 32px 二号 22pt 7.76mm 29.3px 小二 18pt 6.35mm 24px 三号 16pt 5.64mm 21.3px 小三 15pt 5.29mm 20px 四号 14pt 4.94mm 18.7px 小四 12pt 4.23mm 16px 五号 10.5pt 3.70mm 14px 小五 9pt 3.18mm 12px 六号 7.5pt 2.56mm 10px 小六 6.5pt 2.29mm 8.7px 七号 5.5pt 1.94mm 7.3px 八号 5pt 1.76mm 6.7px * 2023-12-12 by chengxr */