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