如果电脑安装EXCEL2013,正常读取,但如果是EXCEL2016,读取就崩溃。求助。代码如下。
QString strFile = QFileDialog::getOpenFileName(this,QStringLiteral("Open file"),"",tr("Excel file(*.xls *.xlsx)"));
if (strFile.isEmpty()) { return; }
QAxObject *excel = new QAxObject(this);
excel->setControl("Excel.Application");//加载Excel驱动,连接Excel控件
excel->dynamicCall("SetVisible (bool)","true");//不显示窗体
excel->setProperty("DisplayAlerts", false);//不显示任何警告信息。如果为true那么在关闭是会出现类似“文件已修改,是否保存”的提示
QAxObject *pWorkBooks = excel->querySubObject("WorkBooks");
pWorkBooks->dynamicCall("Open (const QString&)", strFile);//打开指定文
QAxObject *pWorkBook = excel->querySubObject("ActiveWorkBook");//获取当前工作簿
QAxObject *pWorkSheets = pWorkBook->querySubObject("Sheets");//获取工作表集合
int SheetCount = pWorkSheets->property("Count").toInt(); //获取工作表(Sheet)的数目