From 91343c3ca84cffa9b3d78dde393877cc311f8bc8 Mon Sep 17 00:00:00 2001
From: wumu <mayi@mayi.com>
Date: 星期一, 31 七月 2023 23:23:22 +0800
Subject: [PATCH] 0731

---
 internal_system_v1/coverinfo.cpp |  162 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 158 insertions(+), 4 deletions(-)

diff --git a/internal_system_v1/coverinfo.cpp b/internal_system_v1/coverinfo.cpp
index 3653d54..d8722ea 100644
--- a/internal_system_v1/coverinfo.cpp
+++ b/internal_system_v1/coverinfo.cpp
@@ -1,6 +1,7 @@
 #include "coverinfo.h"
 #include "ui_coverinfo.h"
 #include <QDebug>
+#include <QDirIterator>
 
 CoverInfo::CoverInfo(QWidget *parent) :
     QMainWindow(parent),
@@ -17,8 +18,161 @@
 
 void CoverInfo::readInfo()
 {
-    QXlsx::Document doc("./debug/Data/test.xlsx");
-    QString cc = doc.read("A1").toString();
-    qDebug()<<"cc"<<cc;
-    ui->label_creditCode->setText(cc);
+//    QXlsx::Document doc("./debug/Data/test.xlsx");
+//    QString cc = doc.read("A1").toString();
+//    qDebug()<<"cc"<<cc;
+//    ui->label_creditCode->setText(cc);
+
+    QString dirPath = "./debug/Data";
+    QStringList list;
+    QDirIterator it(dirPath, {"*.xls","*.xlsx"}, QDir::Files | QDir::NoSymLinks | QDir::NoDotAndDotDot, QDirIterator::Subdirectories);
+    while(it.hasNext())
+    {
+        it.next();
+        list.append(it.fileInfo().absoluteFilePath());
+    }
+    foreach(QString str, list)
+    {
+        qDebug() << str;
+        int index = str.indexOf("鍐呭缁�01琛�");
+        qDebug()<<"index:"<<index;
+        if(index > 0){
+            QAxObject excel("Excel.Application");
+            excel.setProperty("Visible",false);
+            excel.setProperty("DisplayAlerts",false);
+            qDebug()<<"open:"<<str;
+            qDebug()<<"excel:"<<excel.className();
+            QAxObject * wbs = excel.querySubObject("WorkBooks");
+            QAxObject * wb = wbs->querySubObject("Open(QString&)",str);
+            //QAxObject* pWorkBook = excel.querySubObject("ActiveWorkBook");
+            //QAxObject* pWorkSheets = pWorkBook->querySubObject("Sheets");//鑾峰彇宸ヤ綔琛�
+            QAxObject * shs = wb->querySubObject("Sheets"); // WorkSheets 涔熷彲浠�
+            int cnt = shs->property("Count").toInt();
+            qDebug()<<"cnt="<<cnt;
+            for(int i=0;i<cnt;++i){
+                QAxObject * sheet = shs->querySubObject("Item(int)", i+1);
+                QString sheetName = sheet->property("Name").toString();
+                qDebug()<<"sh name:"<<sheetName;
+                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;
+                QVariant  val = usedRange->dynamicCall("Value"); // 鎷垮埌浜岀淮琛ㄦ牸
+                QVariantList valRows = val.toList();
+                // 閬嶅巻姣忎竴椤�
+//                for(int i=0;i<rows;++i){
+//                    QVariantList valrow = valRows[i].toList();
+//                    for(int j=0;j<columns;++j){
+//                        QVariant valData = valrow[j];
+//                        if(valData.isValid()){
+//                            qDebug()<<"val:"<< i<< j << valData;
+//                        }
+
+//                    }
+//                }
+
+                // 缁熶竴淇$敤浠g爜
+                QVariant uniCode = valRows[9].toList().at(3);
+                if(uniCode.isValid()){
+                    ui->label_creditCode->setText(uniCode.toString());
+                }
+                // 鍗曚綅鍚嶇О
+                QVariant name = valRows[9].toList().at(8);
+                if(name.isValid()){
+                    ui->label_name->setText(name.toString());
+                }
+                // 鏈烘瀯绫诲瀷
+                QVariant comType = valRows[12].toList().at(3);
+                if(comType.isValid()){
+                    ui->label_comType->setText(comType.toString());
+                }
+                // 涓昏涓氬姟娲诲姩
+                QString business;
+                QVariant first = valRows[18].toList().at(2);
+                if(first.isValid()){
+                    business.append(first.toString());
+                }
+                QVariant sec = valRows[18].toList().at(5);
+                if(sec.isValid()){
+                    business += "銆�";
+                    business.append(sec.toString());
+                }
+                QVariant third = valRows[18].toList().at(8);
+                if(third.isValid()){
+                    business += "銆�";
+                    business.append(third.toString());
+                }
+                if(business.size() > 0){
+                    ui->label_business->setText(business);
+                }
+                // 涓氬姟浠g爜
+                QVariant busCode = valRows[19].toList().at(4);
+                if(busCode.isValid()){
+                    ui->label_businessCode->setText(busCode.toString());
+                }
+                // 娉ㄥ唽鍦板潃
+                QString addr="";
+                QVariant province = valRows[21].toList().at(1); // 鐪佷唤
+                QVariant city = valRows[21].toList().at(4); // 鍩庡競
+                QVariant district = valRows[21].toList().at(7); // 绠¤緰鍖�
+                QVariant village = valRows[22].toList().at(2); // 涔¢晣
+                QVariant street = valRows[22].toList().at(4); // 琛楅亾
+                QVariant Sub = valRows[23].toList().at(2); // 琛楅亾鍔炰簨澶�
+                QVariant committee = valRows[25].toList().at(3); // 灞呭浼�
+                //qDebug()<<province<<city<<district<<village<<street<<Sub<<committee;
+                if(province.isValid()) addr += province.toString();
+                if(city.isValid()) addr += city.toString();
+                if(district.isValid()) addr += district.toString();
+                if(village.isValid()) addr += village.toString();
+                if(street.isValid()) addr += street.toString();
+                if(Sub.isValid()) addr += Sub.toString();
+                if(committee.isValid()) addr += committee.toString();
+                if(addr.size()>10)ui->label_addr->setText(addr);
+                // 鍖哄煙浠g爜
+                QVariant areaCode = valRows[24].toList().at(2);
+                if(areaCode.isValid()) ui->label_areaCode->setText(areaCode.toString());
+                // 鍩庝埂浠g爜
+                QVariant townCode = valRows[24].toList().at(6);
+                if(townCode.isValid()) ui->label_townCode->setText(townCode.toString());
+                // 鍗曚綅瑙勬ā
+                QVariant scale = valRows[25].toList().at(3);
+                if(scale.isValid()) ui->label_scale->setText(scale.toString());
+                // 浠庝笟浜烘暟
+                QVariant people = valRows[26].toList().at(6);
+                if(people.isValid()) ui->label_people->setText(people.toString());
+                // 娉曚汉
+                QVariant representative = valRows[27].toList().at(4);
+                if(representative.isValid()) ui->label_representative->setText(representative.toString());
+                // 浼氳鏍囧噯绫诲埆 standardType
+                QVariant standardType = valRows[27].toList().at(8);
+                if(standardType.isValid()) ui->label_standardType->setText(standardType.toString());
+                // 闀块�斿尯鍙�
+                QVariant trunkCode = valRows[31].toList().at(2);
+                if(trunkCode.isValid()) ui->label_trunkCode->setText(trunkCode.toString());
+                // 鍥哄畾鐢佃瘽
+                QVariant fixedTel = valRows[32].toList().at(2);
+                if(fixedTel.isValid()) ui->label_fixedTel->setText(fixedTel.toString());
+                // 閭斂缂栫爜
+                QVariant postCode = valRows[33].toList().at(2);
+                if(postCode.isValid()) ui->label_postCode->setText(postCode.toString());
+                // 鐢靛瓙閭
+                QVariant email = valRows[30].toList().at(5);
+                if(email.isValid()) ui->label_email->setText(email.toString());
+                // 缃戝潃
+                QVariant webSite = valRows[32].toList().at(5);
+                if(webSite.isValid()) ui->label_webSite->setText(webSite.toString());
+
+
+
+            }
+            wbs->dynamicCall("Close()");
+            excel.dynamicCall("Quit(void)");
+        }
+    }
+
+
+//    QAxObject excel("./debug/Data/闄勪欢2_鍐呭缁�01琛╛鍗曚綅鍙婂唴閮ㄥ璁℃満鏋勫熀鏈儏鍐佃〃-1.301鐗�(1).xls");
+//    excel.setProperty("Visible",true);
+//    excel.setProperty("DisplayAlerts",false);
+
 }

--
Gitblit v1.8.0