qt打开excel名称传递错误
qt open excel name passing error
现在我正在制作一个程序,它读取两张excel表并将其制作成一张。
一切都很好。但是我有一个问题
那就是
QAxWidget *excel=new QAxWidget("Excel.Application", this);
excel->dynamicCall("SetVisible", true);
QAxObject *workbooks=excel->querySubObject("WorkBooks");
workbooks->dynamicCall("Open(const QString&)", QString(":/temp/temp.xls"));
QAxObject *workbook=excel->querySubObject("ActiveWorkBook");
QAxObject *worksheets=workbook->querySubObject("WorkSheets");
我的qrc文件
<RCC>
<qresource prefix="/">
<file>temp/temp.xls</file>
</qresource>
</RCC>
工作簿->dynamicCall("打开(const QString&)",QString(":/temp/temp.xls");这部分发生错误
我在我的资源中插入了一个excel模板文件.qrc
我试着打开,但没有成功。
如果我传递了文件的绝对路径,那么就工作。但如果我通过了文件的相对路径,就不能使用
我该怎么解决这个问题??请告诉我。。感谢
-
你可以把excel文件放在项目中的某个目录中,比如文档之类的。
-
设置当前目录QDir::setCurrent(QCoreApplication::applicationDirPath())
-
您可以访问文档文件夹中的文件,如"docs/anyfile.xls"
如果将xls文件放在资源中,它将绑定在可执行文件中,Microsoft Office COM组件将无法访问。
-
将excel文件放在项目中的某个目录中,例如模板
所以你的结构将是ProjectMainDirectory/ + - MyResources.qrc + - template/ + - temp.xls
-
将文件添加为资源。资源文件将类似于:
<RCC> <qresource prefix="/Files"> <file>template/temp.xls</file> </qresource> </RCC>
-
现在尝试以
":/Files/template/temp.xls
的身份访问该文件。您应该能够访问该文件。
编译时,编译器将读取资源文件,并将资源文件打包到exe中。您不需要将xls文件与exe单独打包。
希望这能解决问题。如果有任何问题,请留下评论。
- 错误-我无法在VS2019中打开新的Qt项目
- 为什么 fstream 在打开带有格式的文件时会导致分段错误?
- 以只读模式打开数据库时SQLITE_CANTOPEN错误
- VI工作室代码错误无法打开输出文件主.exe
- 尝试打开 ifstream 时出现"Incomplete type"错误
- 为什么当我在 std::string 中打开文件名的 fstream 时出现"no matching function"错误?
- SDL 映像:无法打开映像,仅显示错误消息
- "错误 (活动) E1696 无法打开源文件 "stdafx.h"--
- 错误:当我从"WinDbg"打开可执行文件时,找不到符号文件。默认导出 ntdll 的符号.dll
- 链接:致命错误LNK1104:无法打开文件"python37_d.lib"
- 在 Windows 10 下使用 GTest 的 CMake - 致命错误 LNK1104:无法打开文件"gtest.lib",但存在调试"gtestd.lib"
- 错误: C1083: 无法打开包含文件:"boost/asio.hpp": 没有此类文件或目录
- :-1: 错误: LNK1104: 无法打开文件"我的项目.obj"
- 如何处理错误"E1696命令行错误:无法在Visual Studio 2017中打开元数据文件"mscorlib.dll"?
- 致命错误 C1083:无法打开包含文件:"GL/glew.h":没有此类文件或目录
- 打开CV异常错误,尽管我的代码是正确的
- 如何在不设置 ulimit -n 的情况下解决套接字程序打开太多文件的错误
- C++/openCV - 为什么显示图像会产生 Linux 分割错误?(打开CV错误?
- 库错误:打开存档时出错:没有错误
- 分段错误打开文件 c++