解决QT使用QAxObject操作Excel出现QtQAxBase: Error calling IDispatch member SaveAs: Exception thrown by server

Qt编写word生成出现错误情况分析 出现错误如下: QAxBase: Error calling IDispatch member Add: Exception thrown by server Code : -2146823114 Source : Microsoft Word Description: ??????? Help : wdmain11.chm [24654] Conne. 阅读详情

问题出现的原因:

workbook->dynamicCall(“SaveAs (const QString &)”, file);file是不能用’/’,

解决方法:把’/‘替换成’\\’

如果是调用QCoreApplication::applicationDirPath()等QT的API获取路径的,可以使用replace(’/’, ‘\\’)把’/‘替换成’\\’。

相关代码: 

// 创建 Excel 文件
        QFileDialog dialog(this);
        dialog.setFileMode(QFileDialog::AnyFile);
        dialog.setDefaultSuffix("xlsx");
        QString filePath = dialog.getSaveFileName(this, "Save Excel File", QDir::homePath(), "Excel Files (*.xlsx)");



 QString filePath1 = filePath.replace('/','\\');

 // 保存 Excel 文件
    workbook->dynamicCall("SaveAs(const QString&)", filePath1);
    workbook->dynamicCall("Close()");
    excel->dynamicCall("Quit()");
    delete excel;

Qt报错:QAxBase: Error calling IDispatch member SaveAs: Exception thrown by server 将保存路径该为程序路径的绝对路径,使用文本替换,将路径格式替换为:D:\\APP\\xxx\\xx,程序修改如下。保存路径为程序路径的相对路径,获取的路径格式为:D:/APP/xxx/xx ,QAxWidget无法识别路径。//获取当前程序运行路径。// 保存Excel文件。//获取当前程序运行路径。// 保存Excel文件。//将路转换为绝对路径。 阅读详情

相关推荐

关于使用QAxObject操作Excel中出现QAxBase : Error calling IDispatch member SaveAs:Exception thrown by server解决

前段时间在使用QAxObject对数据库文件导出为Excel中遇到了QAxBase : Error calling IDispatch member SaveAs:Exception thrown by server这样导出错误的问题,现将此种类型的错误归纳如下。 1.出现问题的缘由 由于我已经创建了一个数据库导出为Excel文件操作的类。但是在调用过程中,发现出现了如下图所示的问题。 这三...

Freedom_Blue的博客 8445

QAxBase: Error calling IDispatch member SaveAs: Exception thrown by server Code : 1004

Qt操作Excel还真是不简单啊。网上看到一段代码可以复制excel,拿来一试。 新建Qt gui应用程序 桌面版。main.cpp代码为:#include #include "mainwindow.h" #include #include #include #include int main(int argc, char *argv[]) { QApplica

caimo的专栏 1万+

解决QtQAxBase: Error calling IDispatch member SaveAs: Exception thrown by server

workbook->dynamicCall(“SaveAs (const QString &)”, file);file是不能用’/’,如果调QCoreApplication::applicationDirPath()等QT的API获取路径的,都需要调replace(’/’, ‘\’)把’/‘替换成’\’,或者自行把’/‘替换成’\’。 注:workbook的来源 QAxObject *excel = nullptr; QAxObject *workbooks = nullptr QAx

doujianyoutiao的博客 6687

QAxBase: Error calling IDispatch member Open: Exception thrown by server

Qt调用EXCEL文件时会通过下面两个函数中的其中的一个来实现 1. mWorkBooks->querySubObject("Open(const QString &)",fileName) 2.mWorkBooks->dynamicCall("Open(const QString &)", fileName) 上面两个函数都可以打开EXCEL文件,其中参数 ...

阿酷亚莫塔塔的博客 9750

Qt 读取Excel文件出现错误:QAxBase: Error calling IDispatch member WorkSheets: Unknown error

我在qt下写了一个操作excel文件的程序,但是当运行到如下语句时: workbook = workbooks->querySubObject("Open(QString&)", QDir::toNativeSeparators(path)); QAxObject * worksheets = workbook->querySubObject("...

一个编程菜鸟的成长路-(常人changr)的专栏 5195

Qt操作Excel错误:QAxBase: Error calling IDispatch member WorkSheets: Unknown error

升级office2016后出现上述情况。 我这边出现这个主要是在操作表的时候,Excel表格突然弹出激活、许可协议等信息等造成的。 激活工具激活office后就好了。

未来之歌 1万+

Qt使用QAxObject写入Excel表格,进行填色、合并单元格、多行写入等

Qt使用QAxObject写入Excel表格,进行填色、合并单元格、多行写入等

hw5230的博客 2638

Qt使用QAxObject读写Excel 的方法

参考资料: Qt导出Excel的简单实现 QT界面开发-QAxObject 读写excel(COM组件) 浅谈 Excel 对象模型 ActiveX Objects Excel VBA 参考 一、简介 QAxObject对COM对象进行了封装,QAxObject派生自QAxBase,而后者提供了一组API通过IUnknown指针直接访问COM对象,excel程序也是一个COM对象,因此可以通过QAxObject操作它。 二、QAxObject的主要方法 QAxObject是一个QOb.

读书笔记 1万+

Qt 使用QAxObject保存excel出错,使用双反斜线\\路径分隔符

Qt 使用QAxObject保存excel出错,使用windows格式路径分隔符 Qt 使用QAxObject读取excel和保存excel时,必须保证文件路径是绝对路径,而且需要使用\\分隔符,不能使用/分隔符; 如果使用/分割符号,运行pWorkBook->dynamicCall("SaveAs(const QString &)","F:/test.xlsx");会出现弹出保

To Be Continue 1491

qt导出生成word报表时报错

qt生成word文件报错

敲敲打打,走走停停 584

Qt】有一种Bug叫“麻烦制造者——福昕PDF阅读器”

使用QtQAxObject类基于“Microsoft Excel 2007”和“WPS表格”做二次开发(以下将两者称为Excel)。以下代码在基于“WPS表格”二次开发下工作正常,et.exe进程(WPS表格进程)能正常退出。在我开发电脑上,以下代码基于“Microsoft Excel 2007”也工作正常,能到达预期效果。 但是,提交到测试人员处却发现,以下代码基于“Microsoft Ex...

梦想博客 3275

Qt访问excel错误:QAxBase: Error calling IDispatch member Open: Exception thrown by server 解决

错误如下: QAxBase: Error calling IDispatch member Open: Exception thrown by server Code : -2146827284 Source : Microsoft Excel Description: ???D:\work.xls??? ??? Help : xlmain11.chm Connec...

茉莉呀的博客 1万+

Qt中用QAxObject操作Excel

最近做一个项目需要用Qt写一个上位机,实现从串口读取数据并将数据保存到Excel表格中,需要用到QAxObject这个类,但是qApplication=new QAxObject() 会报错,于是在 .pro文件中加入CONFIG += qaxcontainer,于是错误消除。

高原 2701
学QT的小菜鸟一枚
博客等级 码龄4年 0粉丝 1原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学QT的小菜鸟一枚

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值