参考https://www.qtcentre.org/threads/51719-copy-move-excel-sheet-with-QT
使用如下:
QAxObject* myexcel = new QAxObject("Excel.Application");
myexcel->setProperty("Visible", false);
myexcel->setProperty("DisplayAlters", false);//关闭时不显示警告对话框
QAxObject* myworks = myexcel->querySubObject("WorkBooks");
myworks->dynamicCall("Open (const QString&)", excel_path);//打开模板(绝对路径)
QAxObject* workbook = myexcel->querySubObject("ActiveWorkBook");
QAxObject* mysheets = workbook->querySubObject("Sheets");//获取工作表集合
QAxObject* sheet = mysheets->querySubObject("Item(int)", 1);//选择第一张表
QVariant param = sheet->asVariant();//将第一张表转化为参数
sheet->dynamicCall("Copy(const QVariant&)", param);//复制表至同一workSheets中
workbook->dynamicCall("SaveAs(const QString&)", file_path);
workbook->dynamicCall("Close(Boelean)","fasle");
myexcel->dynamicCall("Quit()");
delete myexcel;