c++ - QAxWidget 正在使用中,在 QT creator 中读取 Excel 时出现错误
问题描述
环境是Windows。它正在开发一个程序来读取 xls、xlsx 文件。
我的电脑工作正常,但其他电脑有错误。
**<Error on another computer - error log>**
QAxBase::setControl: requested control Excel.Application could not be instantiated
下面是正在使用的代码。
test.cpp
QVariant CustomExcel::readExcel(QString path)
{
// read xls,xlsx file
m_path = path;
QAxObject *excel = new QAxObject;
excel->setControl("Excel.Application",0);
if (excel->isNull())
return QVariant();
excel->setProperty("Visible", false);
QAxObject *workbooks = excel->querySubObject("WorkBooks");
if (!workbooks)
return QVariant();
QAxObject *workbook = workbooks->querySubObject("Open(QString, QVariant)", m_path);
if (!workbook)
return QVariant();
QAxObject *sheets = excel->querySubObject("ActiveWorkBook");
if (!sheets)
return QVariant();
QAxObject *sheet = sheets->querySubObject("Sheets(int)", 1);
if (!sheet)
return QVariant();
QVariant var;
if (sheet != nullptr && !sheet->isNull())
{
QAxObject *usedRange = sheet->querySubObject("UsedRange");
if (nullptr == usedRange || usedRange->isNull())
return QVariant();
var = usedRange->dynamicCall("Value");
delete usedRange;
}
workbooks->dynamicCall("Close()");
excel->dynamicCall("Quit()");
return var;
}
.pro
QT += core gui network sql xml charts axcontainer
我不明白问题是什么.....让我知道是否有其他方法。;)
解决方案
推荐阅读
- elasticsearch - ELK 使用 Grafana 而不是 Kibana 用于集中式日志
- idris - 等式证明中的模式匹配(解构)
- node.js - 使用 Node net 异步测试 TCP 服务器 - 为什么我的测试会抛出“测试完成后无法记录”?
- c++ - 这段代码有什么错误,在二维向量中如何添加额外的元素?
- python - 未检测到 CSS 文件
- python - 使用 kubernetes 在 python 上实现 try/except 使用 GKE 的 python 客户端
- amazon-web-services - AWS MWAA(托管 Apache 气流);以编程方式启用 DAG
- modx - 动态占位符
- java - 创建 geotools 对象时如何使用特定的 CRS?
- mongoose - Mongoose 嵌套别名