| | |
| | | #include <QDebug> |
| | | #include <QAxObject> |
| | | #include <QFile> |
| | | #include <QDateTime> |
| | | #include <QMessageBox> |
| | | |
| | | #pragma execution_character_set("utf-8") |
| | | ExportToFile::ExportToFile(QObject *parent) : QObject(parent) |
| | |
| | | if(!dir.exists()){ |
| | | demoPath = QDir::currentPath()+"/release/Data/附件2_内审统01表_单位及内部审计机构基本情况表-1.301版_demo.xls"; |
| | | } |
| | | |
| | | QString savePath = QFileDialog::getSaveFileName(nullptr,"保存文件",QDir::currentPath()+"/内审统01表.xls","Excel File(*.xls,*.xlsx)"); |
| | | QString dt = QDateTime::currentDateTime().toString("yyyyMMdd-HHmmss"); |
| | | QString savePath = QFileDialog::getSaveFileName(nullptr,"保存文件",QDir::currentPath()+QString("/内审统01表_%1_%2.xls").arg(QString::fromLocal8Bit(info.name)).arg(dt),"Excel File(*.xls;*.xlsx)"); |
| | | qDebug()<<"savepath:"<<savePath <<endl << "demoPath:"<<demoPath; |
| | | |
| | | |
| | |
| | | wbs->dynamicCall("Close()"); |
| | | excel.dynamicCall("Quit(void)"); |
| | | |
| | | QMessageBox::information(nullptr,"导出完成","文件位置:"+savePath); |
| | | |
| | | } |
| | | return 0; |
| | |
| | | return 0; |
| | | } |
| | | |
| | | int ExportToFile::saveToExcelFromNeiShenZonghe() |
| | | int ExportToFile::saveToExcelFromNeiShenZonghe(QString name,NeiShenZongHeInfo &nszh) |
| | | { |
| | | qDebug()<<"内审综合保存导出"; |
| | | |
| | | if(name.size() == 0) { |
| | | QMessageBox::information(nullptr,"公司名为空","请选择一个公司再导出保存"); |
| | | return -1; // 文件为空 |
| | | } |
| | | |
| | | QString demoPath = QDir::currentPath()+"/Data/附件4_内审统03表_内部审计统计综合表.xls"; |
| | | QDir dir(demoPath); |
| | | if(!dir.exists()){ |
| | | demoPath = QDir::currentPath()+"/release/Data/附件4_内审统03表_内部审计统计综合表.xls"; |
| | | } |
| | | QString dt = QDateTime::currentDateTime().toString("yyyyMMdd-HHmmss"); |
| | | QString savePath = QFileDialog::getSaveFileName(nullptr,"保存文件",QDir::currentPath()+QString("/综合表_%1_%2.xls").arg(name).arg(dt),"Excel File(*.xls;*.xlsx)"); |
| | | qDebug()<<"savepath:"<<savePath << endl << "demoPath:"<<demoPath; |
| | | |
| | | |
| | | |
| | | if(savePath.size() > 0){ |
| | | QAxObject excel("ket.Application"); |
| | | if(!excel.setControl("ket" |
| | | ".Application")){ // windows内核 |
| | | excel.setControl("Excel.Application"); // wps内核 |
| | | } |
| | | |
| | | excel.setProperty("Visible",false); |
| | | excel.setProperty("DisplayAlerts",false); |
| | | QAxObject * wbs = excel.querySubObject("WorkBooks"); |
| | | qDebug()<<"wbs:"<<wbs->className(); |
| | | QAxObject * wb = wbs->querySubObject("Open(QString&)",demoPath); |
| | | qDebug()<<"wb open ok"; |
| | | QAxObject * shs = wb->querySubObject("WorkSheets"); // WorkSheets 也可以 |
| | | // 获取具体表格,行列 |
| | | QAxObject * sheet = shs->querySubObject("Item(int)", 1); // 第一个表 |
| | | QAxObject *usedRange = sheet->querySubObject("UsedRange"); |
| | | int rows = usedRange->querySubObject("Rows")->property("Count").toInt(); |
| | | int columns = usedRange->querySubObject("Columns")->property("Count").toInt(); |
| | | qDebug()<<"r--c:"<<rows<<columns; |
| | | |
| | | // 修改内容 |
| | | |
| | | // 四 项目审计 单位 个 |
| | | char index[5]={'F','G','H','I','J'}; |
| | | |
| | | for(int i=0;i<5;++i){ |
| | | sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg(index[i]).arg(39))->setProperty("Value2", nszh.code_030300[i]); // 审计项目 |
| | | } |
| | | for(int i=0;i<5;++i){ |
| | | sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg(index[i]).arg(40))->setProperty("Value2", nszh.code_030301[i]); // 其中:贯彻落实国家重大政策措施审计 |
| | | } |
| | | for(int i=0;i<5;++i){ |
| | | sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg(index[i]).arg(41))->setProperty("Value2", nszh.code_030302[i]); // 财政财务收支审计 |
| | | } |
| | | for(int i=0;i<5;++i){ |
| | | sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg(index[i]).arg(42))->setProperty("Value2", nszh.code_030303[i]); // 固定资产投资审计 |
| | | } |
| | | for(int i=0;i<5;++i){ |
| | | sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg(index[i]).arg(43))->setProperty("Value2", nszh.code_030304[i]); // 内部控制和风险管理审计 |
| | | } |
| | | for(int i=0;i<5;++i){ |
| | | sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg(index[i]).arg(44))->setProperty("Value2", nszh.code_030305[i]); // 经济责任审计 |
| | | } |
| | | for(int i=0;i<5;++i){ |
| | | sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg(index[i]).arg(45))->setProperty("Value2", nszh.code_030306[i]); // 信息系统审计 |
| | | } |
| | | for(int i=0;i<5;++i){ |
| | | sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg(index[i]).arg(46))->setProperty("Value2", nszh.code_030307[i]); // 境外审计 |
| | | } |
| | | for(int i=0;i<5;++i){ |
| | | sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg(index[i]).arg(47))->setProperty("Value2", nszh.code_030308[i]); // 其他 |
| | | } |
| | | for(int i=0;i<5;++i){ |
| | | sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg(index[i]).arg(48))->setProperty("Value2", nszh.code_030310[i]); // 其中:委托外包项目 |
| | | } |
| | | |
| | | qDebug()<<39; |
| | | |
| | | // 五 本填报周期内部审计工作量 隐藏 |
| | | |
| | | // 六、审计发现问题金额 单位 元 |
| | | for(int i=0;i<5;++i){ |
| | | sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg(index[i]).arg(50))->setProperty("Value2", nszh.code_030500[i]); // 审计发现问题金额 |
| | | } |
| | | for(int i=0;i<5;++i){ |
| | | sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg(index[i]).arg(51))->setProperty("Value2", nszh.code_030510[i]); // 其中:绩效类问题金额 |
| | | } |
| | | for(int i=0;i<5;++i){ |
| | | sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg(index[i]).arg(52))->setProperty("Value2", nszh.code_030520[i]); // 合规性问题金额 |
| | | } |
| | | for(int i=0;i<5;++i){ |
| | | sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg(index[i]).arg(53))->setProperty("Value2", nszh.code_030521[i]); // 其中:会计核算方面 |
| | | } |
| | | for(int i=0;i<5;++i){ |
| | | sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg(index[i]).arg(54))->setProperty("Value2", nszh.code_030522[i]); // 违规使用资金 |
| | | } |
| | | for(int i=0;i<5;++i){ |
| | | sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg(index[i]).arg(55))->setProperty("Value2", nszh.code_030523[i]); // 截留、沉淀资金 |
| | | } |
| | | for(int i=0;i<5;++i){ |
| | | sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg(index[i]).arg(56))->setProperty("Value2", nszh.code_030524[i]); // 损失浪费 |
| | | } |
| | | for(int i=0;i<5;++i){ |
| | | sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg(index[i]).arg(57))->setProperty("Value2", nszh.code_030525[i]); // 挪用资金 |
| | | } |
| | | for(int i=0;i<5;++i){ |
| | | sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg(index[i]).arg(58))->setProperty("Value2", nszh.code_030526[i]); // 偷漏税费 |
| | | } |
| | | for(int i=0;i<5;++i){ |
| | | sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg(index[i]).arg(59))->setProperty("Value2", nszh.code_030527[i]); // 违规取得收入 |
| | | } |
| | | for(int i=0;i<5;++i){ |
| | | sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg(index[i]).arg(60))->setProperty("Value2", nszh.code_030528[i]); // 其他 |
| | | } |
| | | |
| | | |
| | | // 七、审计发现问题个数 |
| | | for(int i=0;i<5;++i){ |
| | | sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg(index[i]).arg(61))->setProperty("Value2", nszh.code_030600[i]); // 审计发现问题个数 |
| | | } |
| | | for(int i=0;i<5;++i){ |
| | | sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg(index[i]).arg(62))->setProperty("Value2", nszh.code_030610[i]); // 其中:金额类问题个数 |
| | | } |
| | | for(int i=0;i<5;++i){ |
| | | sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg(index[i]).arg(63))->setProperty("Value2", nszh.code_030620[i]); // 非金额类问题个数 |
| | | } |
| | | for(int i=0;i<5;++i){ |
| | | sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg(index[i]).arg(64))->setProperty("Value2", nszh.code_030621[i]); // 其中:国家政策措施落实方面 |
| | | } |
| | | for(int i=0;i<5;++i){ |
| | | sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg(index[i]).arg(65))->setProperty("Value2", nszh.code_030622[i]); // 发展规划与战略决策方面 |
| | | } |
| | | for(int i=0;i<5;++i){ |
| | | sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg(index[i]).arg(66))->setProperty("Value2", nszh.code_030623[i]); // 内部控制与风险管理方面 |
| | | } |
| | | for(int i=0;i<5;++i){ |
| | | sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg(index[i]).arg(67))->setProperty("Value2", nszh.code_030624[i]); // 其他 |
| | | } |
| | | |
| | | |
| | | // 八、审计发现问题整改(金额类) 单位 元 |
| | | for(int i=0;i<5;++i){ |
| | | sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg(index[i]).arg(68))->setProperty("Value2", nszh.code_030700[i]); // 审计发现问题整改(金额类) |
| | | } |
| | | for(int i=0;i<5;++i){ |
| | | sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg(index[i]).arg(69))->setProperty("Value2", nszh.code_030701[i]); // 其中:调整会计账目 |
| | | } |
| | | for(int i=0;i<5;++i){ |
| | | sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg(index[i]).arg(70))->setProperty("Value2", nszh.code_030702[i]); // 收回资金 |
| | | } |
| | | for(int i=0;i<5;++i){ |
| | | sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg(index[i]).arg(71))->setProperty("Value2", nszh.code_030703[i]); // 挽回损失 |
| | | } |
| | | for(int i=0;i<5;++i){ |
| | | sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg(index[i]).arg(72))->setProperty("Value2", nszh.code_030704[i]); // 归还原资金渠道 |
| | | } |
| | | for(int i=0;i<5;++i){ |
| | | sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg(index[i]).arg(73))->setProperty("Value2", nszh.code_030705[i]); // 补缴税费 |
| | | } |
| | | for(int i=0;i<5;++i){ |
| | | sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg(index[i]).arg(74))->setProperty("Value2", nszh.code_030706[i]); // 其他 |
| | | } |
| | | |
| | | |
| | | // 九、审计发现问题整改(非金额类) 单位 个 |
| | | for(int i=0;i<5;++i){ |
| | | sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg(index[i]).arg(75))->setProperty("Value2", nszh.code_030800[i]); // 审计发现问题整改(非金额类) |
| | | } |
| | | for(int i=0;i<5;++i){ |
| | | sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg(index[i]).arg(76))->setProperty("Value2", nszh.code_030801[i]); // 其中:新制定制度 |
| | | } |
| | | for(int i=0;i<5;++i){ |
| | | sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg(index[i]).arg(77))->setProperty("Value2", nszh.code_030802[i]); // 修订完善制度 |
| | | } |
| | | for(int i=0;i<5;++i){ |
| | | sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg(index[i]).arg(78))->setProperty("Value2", nszh.code_030803[i]); // 优化完善业务流程 |
| | | } |
| | | for(int i=0;i<5;++i){ |
| | | sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg(index[i]).arg(79))->setProperty("Value2", nszh.code_030804[i]); // 其他 |
| | | } |
| | | |
| | | |
| | | // 十、根据审计建议给予党纪、政务和内部纪律处分 单位 人 |
| | | for(int i=0;i<5;++i){ |
| | | sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg(index[i]).arg(80))->setProperty("Value2", nszh.code_030900[i]); // 根据审计建议给予党纪、政务和内部纪律处分 |
| | | } |
| | | for(int i=0;i<5;++i){ |
| | | sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg(index[i]).arg(81))->setProperty("Value2", nszh.code_030901[i]); // 其中:党纪处分 |
| | | } |
| | | for(int i=0;i<5;++i){ |
| | | sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg(index[i]).arg(82))->setProperty("Value2", nszh.code_030902[i]); // 政务处分 |
| | | } |
| | | for(int i=0;i<5;++i){ |
| | | sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg(index[i]).arg(83))->setProperty("Value2", nszh.code_030903[i]); // 内部纪律处分 |
| | | } |
| | | |
| | | |
| | | // 十一、向司法机关移送或报告案件线索 |
| | | for(int i=0;i<5;++i){ |
| | | sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg(index[i]).arg(84))->setProperty("Value2", nszh.code_031000[i]); // 向司法机关移送或报告案件线索 |
| | | } |
| | | for(int i=0;i<5;++i){ |
| | | sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg(index[i]).arg(85))->setProperty("Value2", nszh.code_031001[i]); // 其中:涉案人员 |
| | | } |
| | | |
| | | |
| | | // 完事了,结束,保存或者退出 |
| | | wb->dynamicCall("SaveAs(const QString&)",QDir::toNativeSeparators(savePath)); |
| | | wbs->dynamicCall("Close()"); |
| | | excel.dynamicCall("Quit(void)"); |
| | | |
| | | QMessageBox::information(nullptr,"导出完成","文件位置:"+savePath); |
| | | |
| | | } |
| | | |
| | | return 0; |
| | | } |