Qt QAxObject--未以正确格式创建excel

Qt QAxObject--未以正确格式创建excel,qt,qaxobject,Qt,Qaxobject,我使用的是QAxObject,能够打开现有文件并读取不同的表格和单元格 但是当我使用QAxObject创建新的excel文件时。它正在创建test_1.xls文件。 但是当我打开这个文件时,它给了我一个错误。我正在使用ms-excel-2007 代码:--- 尝试打开此文件时出现错误消息:----- 请建议我缺少什么,以便以正确的格式创建.xls文件?好的,我解决了这个问题。因为我安装了Office2007, “保存”功能将以2007格式保存文件,但我将其保存到“*.xls”,某些格式无法正确识

我使用的是
QAxObject
,能够打开现有文件并读取不同的表格和单元格

但是当我使用
QAxObject
创建新的excel文件时。它正在创建
test_1.xls
文件。 但是当我打开这个文件时,它给了我一个错误。我正在使用
ms-excel-2007

代码:---

尝试打开此文件时出现错误消息
:-----


请建议我缺少什么,以便以正确的格式创建
.xls
文件?

好的,我解决了这个问题。因为我安装了Office2007, “保存”功能将以2007格式保存文件,但我将其保存到“*.xls”,某些格式无法正确识别

因此,解决方案是,使用“SaveAs”将excel保存为2003格式

QList-lstParam;
lstParam.append(“D:\\Temp\\test_1.xls”);
lstParam.append(-4143);
lstParam.追加(“”);
lstParam.追加(“”);
lstParam.append(false);
lstParam.append(false);
lstParam.append(1);
lstParam.append(2);
lstParam.append(false);
lstParam.append(false);
lstParam.append(false);
lstParam.append(false);
工作簿_1->dynamicCall(“保存为(QVariant,QVariant,QVariant,QVariant,QVariant,QVariant,QVariant,QVariant,QVariant)”,lstParam);
   QAxWidget excel_1("Excel.Application");
   excel_1.setProperty("Visible", false);

   QAxObject * workbooks_1 = excel_1.querySubObject("WorkBooks");

   workbooks_1->dynamicCall("Add");
   QAxObject * workbook_1 = excel_1.querySubObject("ActiveWorkBook");
   QAxObject * worksheets = workbook_1->querySubObject("WorkSheets");

   excel_1.setProperty("DisplayAlerts", 0);
   workbook_1->dynamicCall("SaveAs (const QString&)", QString("D:\\Temp\\test_1.xls"));
   workbook_1->dynamicCall("Close (Boolean)", false);
   excel_1.setProperty("DisplayAlerts", 1);
   excel_1.dynamicCall("Quit (void)");
The file you are trying to open is diffrent format than xls. 
Verify that file is corrupted or not do you want to open this file or not
QList<QVariant> lstParam;
lstParam.append("D:\\Temp\\test_1.xls");
lstParam.append(-4143);
lstParam.append("");
lstParam.append("");
lstParam.append(false);
lstParam.append(false);
lstParam.append(1);
lstParam.append(2);
lstParam.append(false);
lstParam.append(false);
lstParam.append(false);
lstParam.append(false);

workbook_1->dynamicCall("SaveAs(QVariant, QVariant, QVariant, QVariant, QVariant, QVariant, QVariant, QVariant, QVariant, QVariant, QVariant, QVariant)", lstParam);