QAxObject - не создает Excel в нужном формате

Я работаю с QAxObject и возможность открыть существующий файл и читать различные листы и ячейки.

Но когда я создаю новый файл Excel, используя QAxObject, Это создает test_1.xls файл. Но когда я открываю этот файл, это дает мне ошибку. я использую ms-excel-2007,

Код:---

   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)");

error message когда я пытаюсь открыть этот файл:-----

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

Пожалуйста, предложите, что мне не хватает, чтобы создать .xls файл в правильном формате?

1 ответ

ОК, я решил эту проблему. Поскольку я устанавливаю Office2007, функция "Сохранить" сохраняет файл в формате 2007, но я сохраняю его в "*.xls", некоторые форматы не могут быть распознаны правильно.

поэтому решение заключается в использовании "SaveAs" для сохранения Excel в формате 2003.

Как установить формат столбца Excel через Qt?

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);
Другие вопросы по тегам