QT读取EXCEL表格日期格式问题解决

QT读取EXCEL表格日期时间格式问题解决

问题:
Qaxobject类操作excel表格,读取代码中日期格式读取错误,变为数字
eg:2016/7/23 输出打印值为 42574.5245138889

解决方案:
包含头文件:#include < QDateTime >
同时读取方式修改为
QAxObject * cell = worksheet->querySubObject(“Cells(int,int)”, 1, 1 );//参数代表行里,即:1行1列
qDebug() << cell->dynamicCall(“Value”).toDateTime()<<endl;

Qt中,可以使用QAxObject类来读取Excel表格并定位输入项。 首先,需要在Qt项目中包含头文件`#include <QAxObject>`来使用QAxObject类。然后,可以使用下面的代码片段来读取Excel表格和定位输入项: ```cpp // 创建一个QAxObject对象 QAxObject excel("Excel.Application"); // 打开Excel文件 QAxObject *workbooks = excel.querySubObject("Workbooks"); QAxObject *workbook = workbooks->querySubObject("Open(const QString&)", "your_excel_file_path.xlsx"); // 获取第一个工作 QAxObject *worksheets = workbook->querySubObject("Worksheets"); QAxObject *worksheet = worksheets->querySubObject("Item(int)", 1); // 获取输入项的位置 QAxObject *range = worksheet->querySubObject("Range(const QString&)", "A1"); // 获取输入项的内容 QString inputValue = range->dynamicCall("Value").toString(); // 关闭Excel文件 workbook->dynamicCall("Close()"); excel.dynamicCall("Quit()"); ``` 上述代码中,我们首先创建了`QAxObject`对象,然后通过`querySubObject`函数打开Excel文件并获取第一个工作。接下来,使用`querySubObject`函数获取输入项的位置,并使用`dynamicCall`函数获取输入项的内容。最后,使用`dynamicCall`函数关闭Excel文件。 需要注意的是,上述代码仅仅是一个简单的示例,实际使用中可能需要根据Excel表格的结构和需求做相应的调整。同时,确保你的系统中已经安装了Microsoft Excel软件,因为Qt利用COM技术与Excel进行交互。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值