当前位置: 首页 > news >正文

querySubObject(“Cells(int,int)“, j,i)->property(“Value“)读不到数据问题

在使用qt读取Excel文件内容的时候,使用下列方式:

worksheet->querySubObject("Cells(int,int)", j,i)->property("Value").toString();

不会报错,但读取不到数据。多次尝试发现应该将property改为dynamicCall

下面是用qt读取excel文件内容的实例。

读取方式为按列读取,以QVector<QVector<QString>>形式存储数据。

void MainWindow::getExcelContent(QVector<QVector<QString>> &result, QStringList filePathes)
{QAxObject *excel = NULL;QAxObject *workbooks = NULL;QAxObject *workbook = NULL;foreach (const QString &filePath, filePathes) {CoInitializeEx(NULL, COINIT_MULTITHREADED);excel = new QAxObject("Excel.Application");QAxObject *worksheet = workbook->querySubObject("WorkSheets(int)", 1);//读取第一个表QAxObject *usedRange = worksheet->querySubObject("UsedRange");//有数据的矩形区域QAxObject * rows = usedRange->querySubObject("Rows");QAxObject * columns = usedRange->querySubObject("Columns");int Rows = rows->property("Count").toInt();int Cols = columns->property("Count").toInt();//按照列方式读取数据for(int i=1;i<=Cols; ++i){QVector<QString> vecDataRow;for(int j=1;j<=Rows;++j){QString txt = worksheet->querySubObject("Cells(int,int)", j,i)->dynamicCall("Value").toString(); //获取单元格内容vecDataRow.append(txt);}result.push_back(vecDataRow);}workbook->dynamicCall("Close()");excel->dynamicCall("Quit()");if(excel){delete excel;excel = NULL;}}
}

下面是打开文件方式,其中有单选格式方式打开文件和多选格式选择打开文件。 

QString filePath = QFileDialog::getOpenFileName(this, QStringLiteral("选择Excel文件"),"",QStringLiteral("Excel file(*.xls *.xlsx)"));if(filePath.isEmpty())return;
filePathes = QFileDialog::getOpenFileNames(this, tr("Open File"),"D:/",tr("Excel files(*.xls *.xlsx);;CSV files (*.csv)"));

相关文章:

querySubObject(“Cells(int,int)“, j,i)->property(“Value“)读不到数据问题

在使用qt读取Excel文件内容的时候&#xff0c;使用下列方式&#xff1a; worksheet->querySubObject("Cells(int,int)", j,i)->property("Value").toString(); 不会报错&#xff0c;但读取不到数据。多次尝试发现应该将property改为dynamicCall 下…...

AutoSAR系列讲解(实践篇)10.2-EcuM的上下电流程

目录 一、上电(StartUp) 二、下电(Shutdown) 三、睡眠(Sleep) 上下电,说白了就是给Ecu上下电后,Ecu的代码执行顺序。这里还讲到了大家可能经常会用到的Sleep流程,主要就是可以归纳为以下这张图,大家 掌握这张图就基本掌握了EcuM的上下电流程了。这张图的具体内容博…...

科研院所用泛微搭建信创办公平台,统一办公,业务融合,安全便捷

国家全面推动重要领域的信创改造工作&#xff0c;要求到2027年底&#xff0c;对综合办公、经营管理、生产运营等系统实现“应替尽替、能替则替”。 科研机构作为智力、知识密集型机构&#xff0c;承载着大量数据、信息资产&#xff0c;数字化程度高&#xff0c;业务系统多样&a…...

基于LoRA进行Stable Diffusion的微调

文章目录 基于LoRA进行Stable Diffusion的微调数据集模型下载环境配置微调过程 推理WebUI部署 基于LoRA进行Stable Diffusion的微调 数据集 本次微调使用的数据集为&#xff1a; LambdaLabs的Pokemon数据集 使用git clone命令下载数据集 git clone https://huggingface.co/…...

C++STL序列式容器——list容器及其常用操作(详解)

纵有疾风起&#xff0c;人生不言弃。本文篇幅较长&#xff0c;如有错误请不吝赐教&#xff0c;感谢支持。 &#x1f4ac;文章目录 一.list容器基本概念二.list容器的常用操作list构造函数list迭代器获取list特性操作list元素操作list赋值操作list的交换、反转、排序、归并操作…...

【雕爷学编程】MicroPython动手做(15)——掌控板之AB按键2

知识点&#xff1a;什么是掌控板&#xff1f; 掌控板是一块普及STEAM创客教育、人工智能教育、机器人编程教育的开源智能硬件。它集成ESP-32高性能双核芯片&#xff0c;支持WiFi和蓝牙双模通信&#xff0c;可作为物联网节点&#xff0c;实现物联网应用。同时掌控板上集成了OLED…...

Spring Boot中整合MyBatis(基于xml方式基于注解实现方式)

一、前提准备 在Spring Boot中整合MyBatis时&#xff0c;你需要导入JDBC&#xff08;不需要手动添加&#xff09;和Druid的相关依赖。 JDBC依赖&#xff1a;在Spring Boot中整合MyBatis时&#xff0c;并不需要显式地添加JDBC的包依赖。这是因为&#xff0c;当你添加mybatis-sp…...

ChatGPT漫谈(三)

AIGC(AI Generated Content)指的是使用人工智能技术生成的内容,包括文字、图像、视频等多种形式。通过机器学习、深度学习等技术,AI系统可以学习和模仿人类的创作风格和思维模式,自动生成大量高质量的内容。AIGC被视为继用户生成内容(UGC)和专业生成内容(PGC)之后的下…...

树、二叉树(C语言版)详解

&#x1f355;博客主页&#xff1a;️自信不孤单 &#x1f36c;文章专栏&#xff1a;数据结构与算法 &#x1f35a;代码仓库&#xff1a;破浪晓梦 &#x1f36d;欢迎关注&#xff1a;欢迎大家点赞收藏关注 文章目录 &#x1f34a;树的概念及结构1. 树的概念2. 树的相关概念3.树…...

vue中Cascader 级联选择器实现-修改实现

vue 的cascader研究了好长时间&#xff0c;看了官网给的示例&#xff0c;上网查找了好多信息&#xff0c;才解决修改时回显的问题&#xff0c;现将方法总结如下&#xff1a; vue代码&#xff1a; <el-form-item label"芯片" prop"firmware"> <…...

C语言实现三子棋游戏

test.c源文件 - 三子棋游戏测试 game.h头文件 - 三子棋游戏函数的声明 game.c源文件 - 三子棋游戏函数的实现 主函数源文件&#xff1a; #define _CRT_SECURE_NO_WARNINGS 1#include"game.h" //自己定义的用"" void menu() {printf("*************…...

机器学习深度学习——softmax回归从零开始实现

&#x1f468;‍&#x1f393;作者简介&#xff1a;一位即将上大四&#xff0c;正专攻机器学习的保研er &#x1f30c;上期文章&#xff1a;机器学习&&深度学习——向量求导问题 &#x1f4da;订阅专栏&#xff1a;机器学习&&深度学习 希望文章对你们有所帮助 …...

Windows如何安装Django及如何创建项目

目录 1、Windows安装Django--pip命令行 2、创建项目 2.1、终端创建项目 2.2、在Pycharm中创建项目 2.3、二者创建的项目有何不同 2.4、项目目录说明 1、Windows安装Django--pip命令行 安装Django有两种方式&#xff1a; pip命令行【推荐--简单】手动安装【稍微复杂一丢丢…...

在CSDN学Golang云原生(监控解决方案Prometheus)

一&#xff0c;记录规则配置 在golang云原生中&#xff0c;通常使用日志库记录应用程序的日志。其中比较常见的有logrus、zap等日志库。这些库一般支持自定义的输出格式和级别&#xff0c;可以根据需要进行配置。 对于云原生应用程序&#xff0c;我们通常会采用容器化技术将其…...

双重for循环优化

项目中有段代码逻辑是个双重for循环&#xff0c;发现数据量大的时候&#xff0c;直接导致数据接口响应超时&#xff0c;这里记录下不断优化的过程&#xff0c;算是抛砖引玉吧~ Talk is cheap,show me your code&#xff01; 双重for循环优化 1、数据准备2、原始双重for循环3、…...

golang利用go mod巧妙替换使用本地项目的包

问题 拉了两个项目下来&#xff0c;其中一个项目依赖另一个项目&#xff0c;因为改动了被依赖的项目&#xff0c;想重新导入测试一下。 解决办法 go.mod文件的require中想要被代替的包名在replace中进行一个替换&#xff0c;注意&#xff1a;用来替换的需要用绝对路径&#xf…...

使用 docker 一键部署 MySQL

目录 1. 前期准备 2. 导入镜像 3. 创建部署脚本文件 4. MySQL 服务器配置文件模板 5. 执行脚本创建容器 6. 后续工作 7. 基本维护 1. 前期准备 新部署前可以从仓库&#xff08;repository&#xff09;下载 MySQL 镜像&#xff0c;或者从已有部署中的镜像生成文件&#x…...

MyBatis-Plus 查询PostgreSQL数据库jsonb类型保持原格式

文章目录 前言数据库问题背景后端返回实体对象前端 实现后端返回List<Map<String, Object>>前端 前言 在这篇文章&#xff0c;我们保存了数据库的jsonb类型&#xff1a;MyBatis-Plus 实现PostgreSQL数据库jsonb类型的保存与查询 这篇文章介绍了模糊查询json/json…...

Linux操作系统1-命令篇

不同领域的主流操作系统 桌面操作系统 Windos Mac os Linux服务器操作系统 Unix Linux(免费、稳定、占有率高) Windows Server移动设备操作系统 Android(基于Linux,开源) ios嵌入式操作系统 Linux(机顶盒、路由器、交换机) Linux 特点&#xff1a;免费、开源、多用户、多任务…...

opencv-24 图像几何变换03-仿射-cv2.warpAffine()

什么是仿射&#xff1f; 仿射变换是指图像可以通过一系列的几何变换来实现平移、旋转等多种操作。该变换能够 保持图像的平直性和平行性。平直性是指图像经过仿射变换后&#xff0c;直线仍然是直线&#xff1b;平行性是指 图像在完成仿射变换后&#xff0c;平行线仍然是平行线。…...

用户智能体交互协议AG-UI(上)

三大Agent协议对比 我们之前已经学习了MCP 和 A2A两个重要的协议了&#xff0c;加上AG-UI&#xff0c;它们共同组成了Agent的三大通信协议体系。 不过&#xff0c;它们的定位各有侧重&#xff0c;并非非此即彼&#xff0c;而是协同使用&#xff0c;用形象的比喻来讲&#xff…...

OpenClaw 从翻车到迎来上百项更新:MiniMax、腾讯、阿里、有道 8 位专家拆解OpenClaw本土化实战解法

责编 | 梦依丹出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09;3 月 24 日&#xff0c;行业顶流 OpenClaw 在迎来号称自诞生以来的最大更新之后&#xff0c;却始料未及地上演了一段“装虾五分钟&#xff0c;修 Bug 两小时”的升级翻车大事故。由于强行将插件生态迁移…...

终极指南:CSS解析器与PostCSS插件开发完全手册

终极指南&#xff1a;CSS解析器与PostCSS插件开发完全手册 【免费下载链接】awesome-css :art: A curated contents of amazing CSS :) 项目地址: https://gitcode.com/gh_mirrors/aw/awesome-css GitHub 加速计划 / aw / awesome-css 项目是一个精心策划的 CSS 资源集合…...

leetcode 困难题 1591. 奇怪的打印机 II-Strange Printer II

Problem: 1591. 奇怪的打印机 II-Strange Printer II 通过观察可以发现&#xff0c;像Example 2&#xff0c;3的最大外接矩形内包括了3和4&#xff0c;所以先3后4&#xff0c;也就是 3->4 同样的&#xff0c;若1的外接矩形内包括了2&#xff0c; 3&#xff0c;4&#xff0c…...

Acetic Acid-PEG-Silane,与蛋白质、抗体或核酸的氨基通过酰胺键连接

一.名称英文名&#xff1a;AA-PEG-Silane&#xff0c;Acetic Acid-PEG-Silane&#xff0c;Silane-PEG-AA&#xff0c;Silane-PEG-Acetic Acid中文名&#xff1a;乙酸聚乙二醇三乙氧基硅烷&#xff0c;乙酸-PEG-三乙氧基硅烷&#xff0c;三乙氧基硅烷聚乙二醇羟基&#xff0c;硅…...

Elasticsearch-PHP聚合分析终极指南:7步掌握数据统计与可视化

Elasticsearch-PHP聚合分析终极指南&#xff1a;7步掌握数据统计与可视化 【免费下载链接】elasticsearch-php Official PHP client for Elasticsearch. 项目地址: https://gitcode.com/gh_mirrors/el/elasticsearch-php Elasticsearch-PHP是官方PHP客户端&#xff0c;提…...

高可用外卖返利 CPS 平台:Java 后端异步回调处理机制深度解析

高可用外卖返利 CPS 平台&#xff1a;Java 后端异步回调处理机制深度解析 在构建外卖返利&#xff08;CPS&#xff09;系统时&#xff0c;异步回调&#xff08;Callback&#xff09;机制是连接用户授权、订单同步与佣金结算的神经中枢。美团、饿了么等平台的用户授权与订单状态…...

5分钟掌握Python抢票神器:告别手动抢票的烦恼!

5分钟掌握Python抢票神器&#xff1a;告别手动抢票的烦恼&#xff01; 【免费下载链接】damaihelper 支持大麦网&#xff0c;淘票票、缤玩岛等多个平台&#xff0c;演唱会演出抢票脚本 项目地址: https://gitcode.com/gh_mirrors/dam/damaihelper 你是否还在为抢不到心仪…...

重构文献预览体验:Zotero PDF Preview让学术效率提升70%的无缝解决方案

重构文献预览体验&#xff1a;Zotero PDF Preview让学术效率提升70%的无缝解决方案 【免费下载链接】zotero-pdf-preview Preview Zotero attachments in the library view. 项目地址: https://gitcode.com/gh_mirrors/zo/zotero-pdf-preview 一、场景化痛点&#xff1a…...

OpenProject企业级项目管理平台部署架构与实践指南

OpenProject企业级项目管理平台部署架构与实践指南 【免费下载链接】openproject OpenProject is the leading open source project management software. 项目地址: https://gitcode.com/GitHub_Trending/op/openproject OpenProject作为领先的开源项目管理软件&#x…...