首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QAxObject --没有以正确的格式创建excel

QAxObject --没有以正确的格式创建excel
EN

Stack Overflow用户
提问于 2013-07-18 15:28:15
回答 1查看 1.7K关注 0票数 2

我正在与QAxObject合作,并能够打开现有的文件和读取不同的工作表和单元格。

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

代码:

代码语言:javascript
复制
   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当我尝试打开此文件时:

代码语言:javascript
复制
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文件时遗漏了什么?

EN

回答 1

Stack Overflow用户

发布于 2013-07-19 11:58:19

好了,我解决了这个问题。由于我安装了Office2007,“保存”功能会将文件保存为2007格式,但我将其保存为"*.xls",有些格式无法正确识别。

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

How to set excel column format though Qt?

代码语言:javascript
复制
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);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17717230

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档