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

#include 
#include 
#include 
#include 
#include 

//思路:
//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 += axcontainer

CONFIG += c++11 console
CONFIG -= app_bundle

DEFINES += QT_DEPRECATED_WARNINGS

SOURCES += \
        main.cpp

 环境Qt 5.9.7  + Office/Excel 2010

你可能感兴趣的:(qt,开发语言)