Qt利用QAxObject和系统日期命令修改文件的修改时间和创建时间

2023-12-20 21:52

本文主要是介绍Qt利用QAxObject和系统日期命令修改文件的修改时间和创建时间,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

#include <QApplication>
#include <QAxObject>
#include <QDebug>
#include <QtCore>
#include <stdlib.h>//思路:
//1、利用windows的"date"和"time"命令,设置系统时间;注意:需要管理员权限
//2、利用先读取再写入相同的数据并保存,来修改“修改时间”
//3、利用文件复制修改“创建时间”int main(int argc, char *argv[])
{QApplication a(argc, argv);//修改系统日期和时间system("date 2020-01-02");system("time 10:20:30");// 创建Excel应用程序对象QAxObject excel("Excel.Application");// 启动Excel应用程序excel.setProperty("Visible", false); //设置是否显示xlsx的图形界面// 获取工作簿对象QAxObject *workbooks = excel.querySubObject("Workbooks");QString filePath  = "C:/Users/Zhang/Desktop/test.xlsx";// 打开Excel文件QAxObject *workbook = workbooks->querySubObject("Open(const QString&)", filePath);// 获取第一个工作表QAxObject *worksheet = workbook->querySubObject("Worksheets(int)", 1);// 读取单元格的值QAxObject *cell = worksheet->querySubObject("Cells(int,int)", 1, 1);QVariant cellValue = cell->property("Value");//qDebug() << "Cell value: " << cellValue.toString();// 写入单元格的值cell->setProperty("Value", cellValue);// 保存并关闭工作簿workbook->dynamicCall("Save()");workbook->dynamicCall("Close()");// 退出Excel应用程序excel.dynamicCall("Quit()");//【利用文件复制修改创建时间】system("date 2019-01-02");system("time 10:20:30");QFile::copy(filePath, filePath + "_new.xlsx");return 0;
}
QT -= gui
QT += axcontainerCONFIG += c++11 console
CONFIG -= app_bundleDEFINES += QT_DEPRECATED_WARNINGSSOURCES += \main.cpp

 环境Qt 5.9.7  + Office/Excel 2010

这篇关于Qt利用QAxObject和系统日期命令修改文件的修改时间和创建时间的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/517631

相关文章

Redis 的 SUBSCRIBE命令详解

《Redis的SUBSCRIBE命令详解》Redis的SUBSCRIBE命令用于订阅一个或多个频道,以便接收发送到这些频道的消息,本文给大家介绍Redis的SUBSCRIBE命令,感兴趣的朋友跟随... 目录基本语法工作原理示例消息格式相关命令python 示例Redis 的 SUBSCRIBE 命令用于订

防止Linux rm命令误操作的多场景防护方案与实践

《防止Linuxrm命令误操作的多场景防护方案与实践》在Linux系统中,rm命令是删除文件和目录的高效工具,但一旦误操作,如执行rm-rf/或rm-rf/*,极易导致系统数据灾难,本文针对不同场景... 目录引言理解 rm 命令及误操作风险rm 命令基础常见误操作案例防护方案使用 rm编程 别名及安全删除

Java使用jar命令配置服务器端口的完整指南

《Java使用jar命令配置服务器端口的完整指南》本文将详细介绍如何使用java-jar命令启动应用,并重点讲解如何配置服务器端口,同时提供一个实用的Web工具来简化这一过程,希望对大家有所帮助... 目录1. Java Jar文件简介1.1 什么是Jar文件1.2 创建可执行Jar文件2. 使用java

C++统计函数执行时间的最佳实践

《C++统计函数执行时间的最佳实践》在软件开发过程中,性能分析是优化程序的重要环节,了解函数的执行时间分布对于识别性能瓶颈至关重要,本文将分享一个C++函数执行时间统计工具,希望对大家有所帮助... 目录前言工具特性核心设计1. 数据结构设计2. 单例模式管理器3. RAII自动计时使用方法基本用法高级用法

QT Creator配置Kit的实现示例

《QTCreator配置Kit的实现示例》本文主要介绍了使用Qt5.12.12与VS2022时,因MSVC编译器版本不匹配及WindowsSDK缺失导致配置错误的问题解决,感兴趣的可以了解一下... 目录0、背景:qt5.12.12+vs2022一、症状:二、原因:(可以跳过,直奔后面的解决方法)三、解决方

JWT + 拦截器实现无状态登录系统

《JWT+拦截器实现无状态登录系统》JWT(JSONWebToken)提供了一种无状态的解决方案:用户登录后,服务器返回一个Token,后续请求携带该Token即可完成身份验证,无需服务器存储会话... 目录✅ 引言 一、JWT 是什么? 二、技术选型 三、项目结构 四、核心代码实现4.1 添加依赖(pom

C# LiteDB处理时间序列数据的高性能解决方案

《C#LiteDB处理时间序列数据的高性能解决方案》LiteDB作为.NET生态下的轻量级嵌入式NoSQL数据库,一直是时间序列处理的优选方案,本文将为大家大家简单介绍一下LiteDB处理时间序列数... 目录为什么选择LiteDB处理时间序列数据第一章:LiteDB时间序列数据模型设计1.1 核心设计原则

基于Python实现自动化邮件发送系统的完整指南

《基于Python实现自动化邮件发送系统的完整指南》在现代软件开发和自动化流程中,邮件通知是一个常见且实用的功能,无论是用于发送报告、告警信息还是用户提醒,通过Python实现自动化的邮件发送功能都能... 目录一、前言:二、项目概述三、配置文件 `.env` 解析四、代码结构解析1. 导入模块2. 加载环

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

Spring创建Bean的八种主要方式详解

《Spring创建Bean的八种主要方式详解》Spring(尤其是SpringBoot)提供了多种方式来让容器创建和管理Bean,@Component、@Configuration+@Bean、@En... 目录引言一、Spring 创建 Bean 的 8 种主要方式1. @Component 及其衍生注解