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
Connect to the exception(int,QString,QString,QString) signal to catch this exception

代码workbooks->dynamicCall(“Open (const QString&)”, QString(“file”))调试的时候发现workbooks为空,这句是打开file指定的excel文档,其实原因是file指定的excel文件有问题,可能是路径写错了,文件名写错了,该文件不存在。
注意,后缀一定要注意 .xlsx .xsl .xlsm

发布了6 篇原创文章 · 获赞 1 · 访问量 9122
展开阅读全文

在VS2012中使用QAxObject创建Excel文档出错

03-25

void uiLabelPrepare::dealfile(const char* filename) { QAxObject* workbooks = nullptr; QAxObject* workbook = nullptr; QAxObject* excel = new QAxObject("Excel application"); if (!excel) { uiMSG().warning("cannot create excel object"); return; } } 代码如上,添加QAxObject* excel = new QAxObject("Excel application");这一行代码后,程序运行错误如下(我的工程是用vs2010 V100工具集,qt4.8.4版本): 1>qaxcontainerd.lib(qaxobject.obj) : error LNK2038: 检测到“_MSC_VER”的不匹配项: 值“1700”不匹配值“1600”(InvalidFilter.obj 中) 1>qaxcontainerd.lib(qaxbase.obj) : error LNK2038: 检测到“_MSC_VER”的不匹配项: 值“1700”不匹配值“1600”(InvalidFilter.obj 中) 1>qaxcontainerd.lib(qaxtypes.obj) : error LNK2038: 检测到“_MSC_VER”的不匹配项: 值“1700”不匹配值“1600”(InvalidFilter.obj 中) 1> 正在创建库 D:/SeisMining4.6/4.6.0/projects/bin/win64/Debug/uiODMain.lib 和对象 D:/SeisMining4.6/4.6.0/projects/bin/win64/Debug/uiODMain.exp 1>qaxcontainerd.lib(qaxobject.obj) : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) void __cdecl std::_Xbad_alloc(void)" (__imp_?_Xbad_alloc@std@@YAXXZ),该符号在函数 "char * __cdecl std::_Allocate<char>(unsigned __int64,char *)" (??$_Allocate@D@std@@YAPEAD_KPEAD@Z) 中被引用 1>qaxcontainerd.lib(qaxbase.obj) : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) void __cdecl std::_Xbad_alloc(void)" (__imp_?_Xbad_alloc@std@@YAXXZ) 1>qaxcontainerd.lib(qaxtypes.obj) : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) void __cdecl std::_Xbad_alloc(void)" (__imp_?_Xbad_alloc@std@@YAXXZ) 1>qaxcontainerd.lib(qaxobject.obj) : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) char const * __cdecl std::_Syserror_map(int)" (__imp_?_Syserror_map@std@@YAPEBDH@Z),该符号在函数 "public: virtual class std::error_condition __cdecl std::_System_error_category::default_error_condition(int)const " (?default_error_condition@_System_error_category@std@@UEBA?AVerror_condition@2@H@Z) 中被引用 1>qaxcontainerd.lib(qaxbase.obj) : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) char const * __cdecl std::_Syserror_map(int)" (__imp_?_Syserror_map@std@@YAPEBDH@Z) 1>qaxcontainerd.lib(qaxtypes.obj) : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) char const * __cdecl std::_Syserror_map(int)" (__imp_?_Syserror_map@std@@YAPEBDH@Z) 1>qaxcontainerd.lib(qaxobject.obj) : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) char const * __cdecl std::_Winerror_map(int)" (__imp_?_Winerror_map@std@@YAPEBDH@Z),该符号在函数 "public: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl std::_System_error_category::message(int)const " (?message@_System_error_category@std@@UEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@H@Z) 中被引用 1>qaxcontainerd.lib(qaxbase.obj) : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) char const * __cdecl std::_Winerror_map(int)" (__imp_?_Winerror_map@std@@YAPEBDH@Z) 1>qaxcontainerd.lib(qaxtypes.obj) : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) char const * __cdecl std::_Winerror_map(int)" (__imp_?_Winerror_map@std@@YAPEBDH@Z) 问答

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览