#include "clientmainwindow.h" #include "ui_clientmainwindow.h" #include #include #include #include #include extern int g_comId; extern QString g_dataRootPath; QString g_auditDate; ClientMainWindow::ClientMainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::ClientMainWindow) { ui->setupUi(this); ui->dateEdit->setDate(QDate::currentDate()); g_auditDate = QDate::currentDate().toString("yyyy-MM-dd"); initUi(); } ClientMainWindow::~ClientMainWindow() { delete ui; } void ClientMainWindow::initUi() { m_searchInfo = new SearchInfo(this); ui->tabWidget->addTab(m_searchInfo,"信息查询"); m_coverInfo = new CoverInfo(this); m_coverInfo->setParent(ui->tab); m_auditPro = new AuditProject(this); m_auditworkload = new AuditWorkload(this); m_problemMon = new ProblemMoney(this); m_problemCnt = new ProblemCount(this); m_probleRect = new ProblemRectification(this); m_problemNotMon = new ProblemNotMoney(this); m_punish = new Punish(this); m_caseClue = new CaseClue(this); ui->stackedWidget->addWidget(m_auditPro); ui->stackedWidget->addWidget(m_auditworkload); ui->stackedWidget->addWidget(m_problemMon); ui->stackedWidget->addWidget(m_problemCnt); ui->stackedWidget->addWidget(m_probleRect); ui->stackedWidget->addWidget(m_problemNotMon); ui->stackedWidget->addWidget(m_punish); ui->stackedWidget->addWidget(m_caseClue); ui->stackedWidget->setCurrentIndex(0); // m_searchInfo = new SearchInfo(this); // ui->tabWidget->addTab(m_searchInfo,"信息查询"); // m_coverInfo = new CoverInfo(this); // m_coverInfo->setParent(ui->tab); // 隐藏掉某个选项 ui->tabWidget->removeTab(3); // OK // 关联各个功能槽 connect(m_coverInfo,SIGNAL(sendComName(QString)),m_searchInfo,SLOT(addComName(QString))); connect(this,SIGNAL(sendDataToAuditProject(QVariantList)),m_auditPro,SLOT(showData(QVariantList))); connect(this,SIGNAL(sendDataToAuditWorkLoad(QVariantList)),m_auditworkload,SLOT(showData(QVariantList))); connect(this,SIGNAL(sendDataToProblemMoney(QVariantList)),m_problemMon,SLOT(showData(QVariantList))); connect(this,SIGNAL(sendDataToProblemCount(QVariantList)),m_problemCnt,SLOT(showData(QVariantList))); connect(this,SIGNAL(sendDataToProblemRectification(QVariantList)),m_probleRect,SLOT(showData(QVariantList))); connect(this,SIGNAL(sendDataToProblemNoMoney(QVariantList)),m_problemNotMon,SLOT(showData(QVariantList))); connect(this,SIGNAL(sendDataToPunish(QVariantList)),m_punish,SLOT(showData(QVariantList))); connect(this,SIGNAL(sendDataToCaseClue(QVariantList)),m_caseClue,SLOT(showData(QVariantList))); } void ClientMainWindow::readDataFromExcel(QString path) { QAxObject excel("Excel.Application"); excel.setProperty("Visible",false); excel.setProperty("DisplayAlerts",false); qDebug()<<"open:"<querySubObject("Open(QString&)",path); //QAxObject* pWorkBook = excel.querySubObject("ActiveWorkBook"); //QAxObject* pWorkSheets = pWorkBook->querySubObject("Sheets");//获取工作表 QAxObject * shs = wb->querySubObject("Sheets"); // WorkSheets 也可以 int cnt = shs->property("Count").toInt(); qDebug()<<"cnt="<querySubObject("Item(int)", i+1); QString sheetName = sheet->property("Name").toString(); qDebug()<<"sh name:"<querySubObject("UsedRange"); int rows = usedRange->querySubObject("Rows")->property("Count").toInt(); int columns = usedRange->querySubObject("Columns")->property("Count").toInt(); qDebug()<<"r--c:"<dynamicCall("Value"); // 拿到二维表格 QVariantList valRows = val.toList(); // 公司名、统一信用代码 QVariant uniCode = valRows[5].toList().at(1); QVariant comName = valRows[6].toList().at(1); if(comName.isValid()){ if(!readDataFromSQL(comName.toString())){ QMessageBox::information(this,"导入中断","请确认公司基本信息已经存在"); break; //return; } qDebug()<dynamicCall("Close()"); excel.dynamicCall("Quit(void)"); } void ClientMainWindow::on_pushButton_auditPro_clicked() { ui->stackedWidget->setCurrentIndex(0); } void ClientMainWindow::on_pushButton_auditWorkload_clicked() { ui->stackedWidget->setCurrentIndex(1); } void ClientMainWindow::on_pushButton_problemMoney_clicked() { ui->stackedWidget->setCurrentIndex(2); } void ClientMainWindow::on_pushButton_problemCount_clicked() { ui->stackedWidget->setCurrentIndex(3); } void ClientMainWindow::on_pushButton_problemRectification_clicked() { ui->stackedWidget->setCurrentIndex(4); } void ClientMainWindow::on_pushButton_problemNotMoney_clicked() { ui->stackedWidget->setCurrentIndex(5); } void ClientMainWindow::on_pushButton_punish_clicked() { ui->stackedWidget->setCurrentIndex(6); } void ClientMainWindow::on_pushButton_caseClue_clicked() { ui->stackedWidget->setCurrentIndex(7); } void ClientMainWindow::on_pushButton_clicked() { QXlsx::Document doc; doc.write(1,2,"mayibase"); doc.write(2,2,"is good"); doc.write("A1","码蚁软件"); doc.mergeCells("A1:A4"); doc.mergeCells("B1:C1"); if(doc.saveAs("Data/test.xlsx")) { qDebug()<<"save is ok"; }else{ qDebug()<<"save is fail"; } } void ClientMainWindow::on_pushButton_2_clicked() { QXlsx::Document doc("test.xlsx"); qDebug()<listWidget->addItem(f); } } void ClientMainWindow::on_pushButton_importExcel_clicked() { QString path = QFileDialog::getOpenFileName(this,"选择表格:单位内部审计业务情况表","./","excel(*业务情况表*.xls)"); qDebug()<<"path:"< 1){ readDataFromExcel(path); } } bool ClientMainWindow::readDataFromSQL(QString name) { QSqlQuery query; QString sql; if(name.size() > 1){ sql = QString("select id,name from company_info where name='%1'").arg(name); qDebug()<<"查询公司sql:"<