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

Qt/C++学习系列之Excel使用记录

Qt/C++学习系列之Excel使用记录

  • 前言
  • The process was ended forcefully.
  • 解决方式
    • 断点查语句
    • 问题
  • 总结


前言

在项目中解析条目达50多条,并且都需要将对应的结果进行显示。为了将结果显示的更加清晰,考虑采用QTableWidget进行表格设置,而在使用过程中遇到一些问题,进行简单的记录。


The process was ended forcefully.

在Excel中,简单的定义了两行表格,使用QStringList定义表格的表头,第二行中在一开始的使用过程中,没有使用QTableWidgetItem进行定义。在保存的时候,使用QAxObject进行数据的获取。

QStringList str= QStringList()<< "序号"<< "输入";
  • str_cq是定义了一个QStringList,设置表头。
QTableWidgetItem *columnHeader = new QTableWidgetItem(str_cq[col]);
  • QTableWidgetItem 是表示单元格的类,new QTableWidgetItem(str_cq[col]) 表示创建一个新的 QTableWidgetItem 对象,并用 str_cq[col] 的值初始化这个对象。
QAxObject* danyuange3=sheet->querySubObject("Cells (int,int)", i, j);
  • QAxObject:表示 Qt 中用于访问 ActiveX 对象的类,这里用于操作 Excel 的单元格。
  • querySubObject 方法获取 Cells 对象的指针,Cells(int, int) 是 Excel 的方法,用于根据行和列索引获取单元格。i和j就是行和列的索引。
    这里要注意:excel的行列是从1开始。

示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。
通过断点,一句一句跑,以及询问AI,得到一些提示。
在使用Qt以及Excel表格存储中会遇到的问题,我总结了关键点:

  • 软件问题:程序可能出现了严重错误,导致崩溃。可能是软件本身存在漏洞。
  • 系统资源不足:系统可能没有足够的内存或CPU资源供进程继续运行。
  • 用户中断:用户可能通过任务管理器等工具手动结束了进程。

解决方式

断点查语句

在感觉可能出现问题的地方进行断点检查,通过Debug的形式进行问题排查。

  • 模块化查询
    例如:串口通讯是否有问题或解析是否有问题,通过大方向排除,来缩小范围。

  • 函数查询
    在缩小范围后,可以检查函数的输入、输出是否正确;

  • 具体语句
    确认某个函数后,进行逐句排查。

问题

确认问题,在读取单元格时,单元格没有初始化的数据,可能会造成读到数据无法写入。
因此在初始化单元格后,最好将列表设置的行列中都填入数据,放置出现未定义的空单元格的存储。

QTableWidgetItem *emptyItem = new QTableWidgetItem("\\");

这里我在表格初始化就直接定义了"\"。
在这里插入图片描述

在这里插入图片描述


总结

本文仅仅简单介绍了在使用单元格时,保存出现的问题,同时把自己的解决思路也写进来,提供一些问题的解决思路。

http://www.xdnf.cn/news/922393.html

相关文章:

  • 第二部分 方法,还是方法——“信管法则”的四大要点
  • 高保真组件库:数字输入框
  • FlashAttention 公式推导
  • [AI绘画]sd学习记录(二)文生图参数进阶
  • Rapidio门铃消息FIFO溢出机制
  • TongWeb7.0动态密钥说明
  • 实战:子组件获取父组件订单信息
  • 【学习笔记】如何给软件加数字签名
  • 在 Windows 11 或 10 上将 Git 升级到最新版本的方法
  • 【Linux】LInux下第一个程序:进度条
  • 十一、【ESP32开发全栈指南: TCP通信服务端】
  • 1-3 Linux-虚拟机(2025.6.7学习篇- mac版本)
  • Sentry 接口返回 Status Code 429 Too Many Requests
  • 【优选算法】C++滑动窗口
  • 在ubuntu等linux系统上申请https证书
  • Redis内存淘汰策略
  • redis集群
  • [最全总结]城市灾害应急管理系统
  • Linux虚拟化技术:从KVM到容器的轻量化革命
  • Nodejs工程化实践:构建高性能前后端交互系统
  • sqlsugar WhereIF条件的大于等于和等于查出来的坑
  • WSL文件如何上传到GitHub
  • python版若依框架开发:后端开发规范
  • 快捷键的记录
  • UOS无法安装deb软件包
  • [论文阅读] 人工智能 | 搜索增强LLMs的用户偏好与性能分析
  • AcWing--数据结构1
  • stm32—ADC和DAC
  • 《JavaAI:稳定、高效、跨平台的AI编程工具优势解析》
  • Linux下的fuser用法简析