From 6ea2769d53615984e57b26b63b8d56b49c472e26 Mon Sep 17 00:00:00 2001
From: wumu <mayi@mayi.com>
Date: 星期三, 13 九月 2023 22:44:13 +0800
Subject: [PATCH] 0913

---
 internal_system_v1/searchinfo.cpp |   63 ++++++++++++++++++++++++++++---
 1 files changed, 56 insertions(+), 7 deletions(-)

diff --git a/internal_system_v1/searchinfo.cpp b/internal_system_v1/searchinfo.cpp
index 83cc3fe..1d5265e 100644
--- a/internal_system_v1/searchinfo.cpp
+++ b/internal_system_v1/searchinfo.cpp
@@ -1,6 +1,8 @@
 #include "searchinfo.h"
 #include "ui_searchinfo.h"
+#include <QAxObject>
 #include <QDebug>
+#include <QDir>
 #include <QSqlError>
 #include <QSqlQuery>
 
@@ -17,7 +19,10 @@
     m_model = new QStandardItemModel(this);
     ui->tableView->setModel(m_model);
     ui->tableView->verticalHeader()->setVisible(false); // 闅愯棌琛屽ご
-
+    m_model->setColumnCount(5);
+    QStringList labels;
+    labels<<"ID"<<"鎸囨爣鍚嶇О"<<"浠g爜"<<"鏁伴噺"<<"鍏徃缂栧彿";
+    m_model->setHorizontalHeaderLabels(labels);
     if(QSqlDatabase::contains("qt_sql_default_connection")){
         m_db = QSqlDatabase::addDatabase("qt_sql_default_connection");
     }else{
@@ -32,7 +37,8 @@
     }else{
         qDebug()<<"db open fail";
     }
-
+    // 璁剧疆琛ㄦ牸鍒楁爣绛�
+    setLabels();
 
 }
 
@@ -216,6 +222,22 @@
     return resultSet;
 }
 
+void SearchInfo::setLabels()
+{
+    QStringList labels,labels2,labels3;
+    labels<<"ID"<<"鎸囨爣鍚嶇О"<<"浠g爜"<<"鏁伴噺"<<"鍏徃缂栧彿"<<" ";
+    labels2<<"ID"<<"鎸囨爣鍚嶇О"<<"浠g爜"<<"鍗曚綅"<<"鏁伴噺"<<"鍏徃缂栧彿";
+    labels3<<"ID"<<"鎸囨爣鍚嶇О"<<"浠g爜"<<"鏁伴噺"<<"浣愯瘉"<<"鍏徃缂栧彿";
+    m_labels["瀹¤椤圭洰"] = labels;
+    m_labels["鍐呭宸ヤ綔閲�"] = labels;
+    m_labels["闂閲戦"] = labels3;
+    m_labels["闂涓暟"] = labels3;
+    m_labels["闂鏁存敼"] = labels3;
+    m_labels["闂鏁存敼--闈為噾棰�"] = labels3;
+    m_labels["澶勫垎"] = labels;
+    m_labels["妗堜欢绾跨储"] = labels2;
+}
+
 void SearchInfo::on_pushButton_search_clicked()
 {
     // 鑾峰彇淇℃伅锛岀劧鍚庢煡璇�
@@ -232,11 +254,12 @@
             rowCnt++;
             m_model->setRowCount(rowCnt);
             qDebug()<<query.value(0).toInt();
-            m_model->setItem(rowCnt-1,0,new QStandardItem(query.value(0).toString()));
-            m_model->setItem(rowCnt-1,1,new QStandardItem(query.value(1).toString()));
-            m_model->setItem(rowCnt-1,2,new QStandardItem(query.value(2).toString()));
-            m_model->setItem(rowCnt-1,3,new QStandardItem(query.value(3).toString()));
-            m_model->setItem(rowCnt-1,4,new QStandardItem(query.value(4).toString()));
+            for(int i=0;i<6;++i){
+                if(query.value(i).isValid()){
+                    m_model->setItem(rowCnt-1,i,new QStandardItem(query.value(i).toString()));
+                }
+            }
+
         }
     }
 
@@ -265,4 +288,30 @@
     QVector<QVector<QString>> punish_res = getResult(punish,3);
     qDebug()<<audit_project_res.size()<<punish_res.size();
 
+    // 鎿嶄綔excel
+    QAxObject* excel = new QAxObject("Excel.Application");  // 鍒涘缓Excel瀵硅薄
+    excel->setProperty("Visible", false);  // 璁剧疆Excel涓嶅彲瑙�
+    QAxObject* workbooks = excel->querySubObject("Workbooks");  // 鑾峰彇鎵�鏈夊伐浣滅翱
+    QAxObject* workbook = workbooks->querySubObject("Add");  // 娣诲姞鏂板伐浣滅翱
+    QAxObject* worksheets = workbook->querySubObject("Worksheets");  // 鑾峰彇鎵�鏈夊伐浣滆〃
+    QAxObject* worksheet = worksheets->querySubObject("Item(int)", 1);  // 鑾峰彇绗竴涓伐浣滆〃
+    for (int i = 1; i <= 5; i++) {
+        for (int j = 1; j <= 5; j++) {
+            QString cellValue = "Value";  // 璁剧疆瑕佸啓鍏ョ殑鍗曞厓鏍煎��
+            worksheet->querySubObject("Cells(int, int)", i, j)->dynamicCall("SetValue(const QVariant&)", cellValue);  // 鍐欏叆鍗曞厓鏍煎��
+        }
+    }
+    QString path = QDir::currentPath();
+    qDebug()<<"path:"<<path;
+    path += "/debug/Data/save2.xls";
+    qDebug()<<"path:"<<path;
+    workbook->dynamicCall("SaveAs(const QString&)", path);  // 淇濆瓨宸ヤ綔绨�
+    workbook->dynamicCall("Close()");  // 鍏抽棴宸ヤ綔绨�
+    excel->dynamicCall("Quit()");  // 閫�鍑篍xcel搴旂敤绋嬪簭
+
+}
+
+void SearchInfo::on_comboBox_currentIndexChanged(const QString &arg1)
+{
+    m_model->setHorizontalHeaderLabels(m_labels[arg1]);
 }

--
Gitblit v1.8.0