• 7134阅读
  • 1回复

[提问]QAxBase: Error calling IDispatch member Open: Exception thrown by server [复制链接]

上一主题 下一主题
离线lgs_shandong
 

只看楼主 倒序阅读 楼主  发表于: 2017-09-23
在使用QAxObject打开xlsx文件时,程序运行到语句:
QAxObject *work_books->dynamicCall("Open(const QString&)", strFile.toLocal8Bit());
时出现调试错误,如下:

QAxBase: Error calling IDispatch member Open: Exception thrown by server
             Code       : 1004
             Source     : Microsoft Excel
             Description: ??????? test.xlsx????????????????
             Help       : xlmain11.chm
         Connect to the exception(int,QString,QString,QString) signal to catch this exception
运行到下面的语句时:

QAxObject *first_sheet = work_sheets->querySubObject("Item(int)", 1);
first_sheet->dynamicCall("delete");
错误提示如:

QAxBase: Error calling IDispatch member delete: Exception thrown by server
             Code       : 1004
             Source     : Microsoft Excel
             Description: ????????????????

????????????????????????????????????????????
             Help       : xlmain11.chm
         Connect to the exception(int,QString,QString,QString) signal to catch this exception
但程序能运行,而且创建了文件,但使用下面的语句创建的文件名不对:
work_book->dynamicCall("Save()")
变量strFile = “test.xlsx”;
最终保存的文件名为:Sheet1.xlsx。
有人知道为什么?
离线aimybbe

只看该作者 1楼 发表于: 2017-09-23
我也有相同的问题哎。使用天池里面的操作excle时出现的,excel装的是office2016
快速回复
限100 字节
 
上一个 下一个