#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