您的位置:首页 > 娱乐 > 明星 > 免费可商用素材网站_徐州企业网站模板建站_淘宝关键词排名怎么查_谷歌google 官网下载

免费可商用素材网站_徐州企业网站模板建站_淘宝关键词排名怎么查_谷歌google 官网下载

2024/12/22 11:14:01 来源:https://blog.csdn.net/carlhelen/article/details/144388496  浏览:    关键词:免费可商用素材网站_徐州企业网站模板建站_淘宝关键词排名怎么查_谷歌google 官网下载
免费可商用素材网站_徐州企业网站模板建站_淘宝关键词排名怎么查_谷歌google 官网下载

        /*直接操作word文档,插入表格,字段,图片等*/
        QString HeadPath = HeadFilePath + "/" + insdata.RPolitName +"--"+ QDateTime::currentDateTime().toString("yyyy-MM-dd") +".docx";
        //创建word文档
        QAxObject* pWordWidget = new QAxObject();
        bool flag = pWordWidget->setControl("Word.Application");//初始化COM对象, 新建一个word应用程序
        if (!flag)
        {
            flag = pWordWidget->setControl("kwps.Application");//尝试用wps打开
            if (!flag)
                return;
        }
        pWordWidget->setProperty("Visible", false);//设置为可见, false则不会在界面打开显示
        QAxObject* pDocuments = pWordWidget->querySubObject("Documents");//获取所有的工作文档(返回一个指向QAxObject包含的COM对象)
        if (!pDocuments)
            return;

        QAxObject* pDocument = pDocuments->querySubObject("Add()");
        //先创建一个文档
        QAxObject* pActiveDocument = pWordWidget->querySubObject("ActiveDocument");//获取当前激活的文档
        //插入文字
        QAxObject* pSelection = pWordWidget->querySubObject("Selection"); //设置排版方式
        //QAxObject* pSelection = pDocument->querySubObject("Range"); //Selection
        if (!pSelection)
            return;
        pSelection->querySubObject("PageSetup")->setProperty("Orientation", "wdOrientPortrait");
        pSelection->dynamicCall("setStyle(WdBuiltinStyle)", "wdStyleTitle");//设置标题
        pSelection->querySubObject("Font")->setProperty("Name", ("宋体"));//设置字体
        pSelection->querySubObject("Font")->setProperty("Size", 20);//设置字体大小
        pSelection->dynamicCall("TypeText(const QString&)", ("222222222"));
        pSelection->dynamicCall("InsertAfter(const QString&)", "\n");
        pSelection->dynamicCall("TypeParagraph(void)");//插入回车

        //第一项 222222222
        pSelection->dynamicCall("setStyle(WdBuiltinStyle)", "wdStyleHeading1");//设置标题1
        pSelection->querySubObject("Font")->setProperty("Name", ("宋体"));//设置字体
        pSelection->querySubObject("Font")->setProperty("Size", 16);//设置字体大小
        pSelection->dynamicCall("TypeText(const QString&)", ("1.222222222"));
        pSelection->dynamicCall("TypeParagraph(void)");//插入回车
        /*插入表格**************************************以下飞行基本信息表格********************************************************/
        //222222222
        pSelection->dynamicCall("setStyle(WdBuiltinStyle)", "wdAlignParagraphCenter");//居中
        pSelection->querySubObject("Font")->setProperty("Name", ("宋体"));//设置字体
        pSelection->querySubObject("Font")->setProperty("Size", 14);//设置字体大小
        pSelection->dynamicCall("TypeText(const QString&)", +(" 222222222: "));
        pSelection->dynamicCall("TypeParagraph(void)");//插入回车
        //插入表格
        QAxObject* pRangef = pSelection->querySubObject("Range");
        QAxObject* pTablefs = pActiveDocument->querySubObject("Tables");
        QAxObject* pTablef = pTablefs->querySubObject("Add(QVariant, int, int)", pRangef->asVariant(), 12, 2); //map.size 行,2列
        pTablef->setProperty("Style", "网格型");
        pTablef->dynamicCall("AutoFitBehavior(WdAutoFitBehavior)", 2);//表格自动拉伸 0固定 1根据内容调整 2根据窗口调整
        pTablef->setProperty("VerticalAlignment", 1);//上下居中
        //设置格式
        int rows = 0;
        int nColumn = 0;
        for (rows < 12; rows++;)
        {
            for (nColumn < 2; nColumn++;)
            {
                pTablef->querySubObject("Cell(Long, Long)", rows + 1, nColumn)->querySubObject("Range")
                    ->querySubObject("ParagraphFormat")
                    ->dynamicCall("Alignment", "wdAlignParagraphCenter");//居中
                pTablef->querySubObject("Cell(Long, Long)", rows + 1, nColumn)->querySubObject("Range")
                    ->querySubObject("Font")
                    ->setProperty("Color", "wdColorBlack");//设置字体颜色

                pTablef->querySubObject("Cell(Long, Long)", rows + 1, nColumn)
                    ->querySubObject("Range")
                    ->querySubObject("Font")
                    ->setProperty("Name", ("宋体"));//设置字体

                pTablef->querySubObject("Cell(Long, Long)", rows + 1, nColumn)
                    ->querySubObject("Range")
                    ->querySubObject("Font")
                    ->setProperty("Size", 12);//设置字体大小
            }
        }
        //填充内容
        pTablef->querySubObject("Cell(Long, Long)", 1, 1)->querySubObject("Range")
            ->dynamicCall("SetText(QString)", ("222222222:"));//设置表格内容
        pTablef->querySubObject("Cell(Long, Long)", 2, 1)->querySubObject("Range")
            ->dynamicCall("SetText(QString)", ("222222222:"));//设置表格内容
        pTablef->querySubObject("Cell(Long, Long)", 3, 1)->querySubObject("Range")
            ->dynamicCall("SetText(QString)", ("222222222:"));//设置表格内容
        pTablef->querySubObject("Cell(Long, Long)", 4, 1)->querySubObject("Range")
            ->dynamicCall("SetText(QString)", ("222222222:"));//设置表格内容
        pTablef->querySubObject("Cell(Long, Long)", 5, 1)->querySubObject("Range")
            ->dynamicCall("SetText(QString)", ("222222222:"));//设置表格内容
        pTablef->querySubObject("Cell(Long, Long)", 6, 1)->querySubObject("Range")
            ->dynamicCall("SetText(QString)", ("222222222:"));//设置表格内容
        pTablef->querySubObject("Cell(Long, Long)", 7, 1)->querySubObject("Range")
            ->dynamicCall("SetText(QString)", ("222222222:"));//设置表格内容
        pTablef->querySubObject("Cell(Long, Long)", 8, 1)->querySubObject("Range")
            ->dynamicCall("SetText(QString)", ("222222222:"));//设置表格内容
        pTablef->querySubObject("Cell(Long, Long)", 9, 1)->querySubObject("Range")
            ->dynamicCall("SetText(QString)", ("222222222:"));//设置表格内容
        pTablef->querySubObject("Cell(Long, Long)", 10, 1)->querySubObject("Range")
            ->dynamicCall("SetText(QString)", ("222222222:"));//设置表格内容
        pTablef->querySubObject("Cell(Long, Long)", 11, 1)->querySubObject("Range")
            ->dynamicCall("SetText(QString)", ("222222222:"));//设置表格内容
        pTablef->querySubObject("Cell(Long, Long)", 12, 1)->querySubObject("Range")
            ->dynamicCall("SetText(QString)", ("222222222:"));//设置表格内容
        //填充结构体
        pTablef->querySubObject("Cell(Long, Long)", 1, 2)->querySubObject("Range")
            ->dynamicCall("SetText(QString)", (insdata.RPolitName));//设置表格内容
        pTablef->querySubObject("Cell(Long, Long)", 2, 2)->querySubObject("Range")
            ->dynamicCall("SetText(QString)", (insdata.RValueNumber));//设置表格内容
        pTablef->querySubObject("Cell(Long, Long)", 3, 2)->querySubObject("Range")
            ->dynamicCall("SetText(QString)", (insdata.IFlyModle));//设置表格内容
        pTablef->querySubObject("Cell(Long, Long)", 4, 2)->querySubObject("Range")
            ->dynamicCall("SetText(QString)", (insdata.Imount));//设置表格内容
        pTablef->querySubObject("Cell(Long, Long)", 5, 2)->querySubObject("Range")
            ->dynamicCall("SetText(QString)", (insdata.ILandingModle));//设置表格内容
        pTablef->querySubObject("Cell(Long, Long)", 6, 2)->querySubObject("Range")
            ->dynamicCall("SetText(QString)", (insdata.IOils));//设置表格内容
        pTablef->querySubObject("Cell(Long, Long)", 7, 2)->querySubObject("Range")
            ->dynamicCall("SetText(QString)", (insdata.RMessionNumber));//设置表格内容
        pTablef->querySubObject("Cell(Long, Long)", 8, 2)->querySubObject("Range")
            ->dynamicCall("SetText(QString)", (insdata.RDatetimes));//设置表格内容
        pTablef->querySubObject("Cell(Long, Long)", 9, 2)->querySubObject("Range")
            ->dynamicCall("SetText(QString)", (insdata.IDefect));//设置表格内容
        pTablef->querySubObject("Cell(Long, Long)", 10, 2)->querySubObject("Range")
            ->dynamicCall("SetText(QString)", (insdata.IWeather));//设置表格内容
        pTablef->querySubObject("Cell(Long, Long)", 11, 2)->querySubObject("Range")
            ->dynamicCall("SetText(QString)", (insdata.IWindSpeedValue));//设置表格内容
        pTablef->querySubObject("Cell(Long, Long)", 12, 2)->querySubObject("Range")
            ->dynamicCall("SetText(QString)", (insdata.IWindWrection));//设置表格内容
        //退出表格
        QVariantList params1;
        params1.append(6);
        params1.append(0);
        pSelection->dynamicCall("EndOf(QVariant&, QVariant&)", params1).toInt();
        pSelection->dynamicCall("TypeParagraph(void)");//插入回车

        //第二项 数据显示
        pSelection->dynamicCall("setStyle(WdBuiltinStyle)", "wdStyleHeading1");//设置标题1
        pSelection->querySubObject("Font")->setProperty("Name", ("宋体"));//设置字体
        pSelection->querySubObject("Font")->setProperty("Size", 16);//设置字体大小
        pSelection->dynamicCall("TypeText(const QString&)", ("2.数据显示"));
        pSelection->dynamicCall("TypeParagraph(void)");  //插入回车

        pSelection->dynamicCall("setStyle(WdBuiltinStyle)", "wdStyleBodyTextFirstIndent2");//设置首行缩进
        pSelection->querySubObject("Font")->setProperty("Name", ("宋体"));//设置字体
        pSelection->querySubObject("Font")->setProperty("Size", 14);//设置字体大小
        pSelection->dynamicCall("TypeText(const QString&)", ("用222222222线的差异。"));
        pSelection->dynamicCall("TypeParagraph(void)");//插入回车
    
        /***********************************************以下为插入图片区域*************************************************************/
        //插入图片标题    
        
        for (size_t i = 0; i < pngFileList.size(); i++)
        {
            pSelection->dynamicCall("setStyle(WdBuiltinStyle)", "wdStyleHeading2");
            pSelection->querySubObject("Font")->setProperty("Name", ("宋体"));//设置字体
            pSelection->querySubObject("Font")->setProperty("Size", 14);//设置字体大小
            pSelection->dynamicCall("TypeText(const QString&)", (FileList[i]));
            pSelection->querySubObject("ParagraphFormat")->dynamicCall("SpaceBefore", 0);
            pSelection->querySubObject("ParagraphFormat")->dynamicCall("SpaceAfter", 0);//段前段后设置为0
            pSelection->querySubObject("ParagraphFormat")->dynamicCall("LineSpaceingRule", 1); //行距设置为单倍行距
            pSelection->dynamicCall("TypeParagraph(void)");//插入回车

            QAxObject *inlineShapes = pSelection->querySubObject("InlineShapes");
            //QString pPicPath = savePngFilePath + "/RAXPITCH.png";
            QString pPicPath = pngFolderPath + "/" + pngFileList[i];
            qDebug() << "插入的图片路径" << pPicPath;
            QAxObject *shape = inlineShapes->querySubObject("AddPicture(const QString&)", pPicPath);
            shape->dynamicCall("Height", 290);
            shape->dynamicCall("Width", 408);
            shape->dynamicCall("Select");
            shape->setProperty("range", pSelection->property("Range"));
            shape->dynamicCall("Cut()");
            pSelection->dynamicCall("TypeParagraph(void)");//插入回车
        }

        //第三项 222222222
        pSelection->dynamicCall("setStyle(WdBuiltinStyle)", "wdStyleHeading1");//设置标题1
        pSelection->querySubObject("Font")->setProperty("Name", ("宋体"));//设置字体
        pSelection->querySubObject("Font")->setProperty("Size", 14);//设置字体大小
        pSelection->dynamicCall("TypeText(const QString&)", ("3.222222222"));
        pSelection->dynamicCall("TypeParagraph(void)");//插入回车
        /*插入表格*******************************************以下评分表格************************************************************/

        //表标题
        pSelection->dynamicCall("setStyle(WdBuiltinStyle)", "wdAlignParagraphCenter");//居中
        pSelection->querySubObject("Font")->setProperty("Name", ("宋体"));//设置字体
        pSelection->querySubObject("Font")->setProperty("Size", 14);//设置字体大小
        pSelection->dynamicCall("TypeText(const QString&)", +(" 222222222: "));
        pSelection->dynamicCall("TypeParagraph(void)");//插入回车

        //设置表头
        QStringList headList;
        headList << ("1111") << ("222222222");
        //插入表格
        QAxObject* pRange = pSelection->querySubObject("Range");
        QAxObject* pTables = pActiveDocument->querySubObject("Tables");
        QAxObject* pTable = pTables->querySubObject("Add(QVariant, int, int)", pRange->asVariant(), 7, headList.length()); //map.size 行,2列
        pTable->setProperty("Style", "网格型");
        pTable->dynamicCall("AutoFitBehavior(WdAutoFitBehavior)", 2);//表格自动拉伸 0固定 1根据内容调整 2根据窗口调整
        pTable->setProperty("VerticalAlignment", 1);//上下居中
        //设置表头
        for (int i = 0; i < headList.size(); i++)
        {
            pTable->querySubObject("Cell(Long, Long)", 1, i + 1)
                ->querySubObject("Range")
                ->dynamicCall("SetText(QString)", headList.at(i));//设置表格内容

            pTable->querySubObject("Cell(Long, Long)", 1, i + 1)
                ->querySubObject("Range")
                ->dynamicCall("SetBold(int)", true);//加粗

            pTable->querySubObject("Cell(Long, Long)", 1, i + 1)
                ->querySubObject("Range")
                ->querySubObject("Font")
                ->setProperty("Name", ("宋体"));//设置字体

            pTable->querySubObject("Cell(Long, Long)", 1, i + 1)
                ->querySubObject("Range")
                ->querySubObject("Font")
                ->setProperty("Size", 14);//设置字体大小

            pTable->querySubObject("Cell(Long, Long)", 1, i + 1)
                ->querySubObject("Range")
                ->querySubObject("ParagraphFormat")
                ->dynamicCall("Alignment", "wdAlignParagraphCenter");//设置表格左右居中
        }
        //设置格式
        int row = 0;
        int Column = 1;
        for (row < 8; row++;)
        {
            for (Column < 3; Column++;)
            {
                pTable->querySubObject("Cell(Long, Long)", row + 2, Column)->querySubObject("Range")
                    ->querySubObject("ParagraphFormat")
                    ->dynamicCall("Alignment", "wdAlignParagraphCenter");//居中

                pTable->querySubObject("Cell(Long, Long)", row + 2, Column)->querySubObject("Range")
                    ->querySubObject("Font")
                    ->setProperty("Color", "wdColorBlack");//设置字体颜色

                pTable->querySubObject("Cell(Long, Long)", row + 2, Column)
                    ->querySubObject("Range")
                    ->querySubObject("Font")
                    ->setProperty("Name", ("宋体"));//设置字体

                pTable->querySubObject("Cell(Long, Long)", row + 2, Column)
                    ->querySubObject("Range")
                    ->querySubObject("Font")
                    ->setProperty("Size", 12);//设置字体大小
            }

        }
        //填充内容
        pTable->querySubObject("Cell(Long, Long)", 2, 1)->querySubObject("Range")
            ->dynamicCall("SetText(QString)", ("111111111111:"));//设置表格内容
        pTable->querySubObject("Cell(Long, Long)", 3, 1)->querySubObject("Range")
            ->dynamicCall("SetText(QString)", ("111111111111:"));//设置表格内容
        pTable->querySubObject("Cell(Long, Long)", 4, 1)->querySubObject("Range")
            ->dynamicCall("SetText(QString)", ("111111111111:"));//设置表格内容
        pTable->querySubObject("Cell(Long, Long)", 5, 1)->querySubObject("Range")
            ->dynamicCall("SetText(QString)", ("111111111111:"));//设置表格内容
        pTable->querySubObject("Cell(Long, Long)", 6, 1)->querySubObject("Range")
            ->dynamicCall("SetText(QString)", ("111111111111:"));//设置表格内容
        pTable->querySubObject("Cell(Long, Long)", 7, 1)->querySubObject("Range")
            ->dynamicCall("SetText(QString)", ("111111111111:"));//设置表格内容
        //填充结构体
        pTable->querySubObject("Cell(Long, Long)", 2, 2)->querySubObject("Range")
            ->dynamicCall("SetText(QString)", (insdata.RgradeCurise));
        pTable->querySubObject("Cell(Long, Long)", 3, 2)->querySubObject("Range")
            ->dynamicCall("SetText(QString)", (insdata.RgradeDecline));
        pTable->querySubObject("Cell(Long, Long)", 4, 2)->querySubObject("Range")
            ->dynamicCall("SetText(QString)", (insdata.RgradeLand));
        pTable->querySubObject("Cell(Long, Long)", 5, 2)->querySubObject("Range")
            ->dynamicCall("SetText(QString)", (insdata.RgradeSelf));
        pTable->querySubObject("Cell(Long, Long)", 6, 2)->querySubObject("Range")
            ->dynamicCall("SetText(QString)", (insdata.RgradeTeacher));
        pTable->querySubObject("Cell(Long, Long)", 7, 2)->querySubObject("Range")
            ->dynamicCall("SetText(QString)", (insdata.RGradeTotal));
        //退出表格
        QVariantList params;
        params.append(6);
        params.append(0);
        pSelection->dynamicCall("EndOf(QVariant&, QVariant&)", params).toInt();


        pActiveDocument->dynamicCall("SaveAs(const QString&)", QDir::toNativeSeparators(HeadPath));//保存至新建的文件夹
        pActiveDocument->dynamicCall("Close()");
        pWordWidget->dynamicCall("Quit()");
        //时间可以修改为以输入的时间为命名
        //QFile::copy("D: / Users / 111111111111 / Data_Ayalize_Modle0725.docx", "D: / Users /+filename");

        QMessageBox::information(nullptr, "成功", "已成功生成评分报告!");
    }
}
 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com