Qt5操作Excel2013

本文介绍了作者在使用Qt5和C++尝试操作Excel2013时遇到的问题,以及最终找到的解决方法。原来的代码在Office2010环境下正常运行,但在2013环境下出现问题。经过尝试,作者分享了能够成功运行的新代码,尽管还存在一些小问题。
摘要由CSDN通过智能技术生成

之前写过一个小程序,用Qt5和C++操作excel2010,那段代码当时是可行的,昨天又需要运行那段代码,不过现在电脑上运行的是office2013,发现原先的代码无法运行了,然后狂试了一通,总算试出来一个可行的版本,不过还是有一些小问题。这边把核心代码贴出来给有需要的同学。


void readExcel() {	
	HRESULT r = OleInitialize(0);
	if (r != S_OK && r != S_FALSE)
	{
		qWarning("Qt:初始化Ole失败(error %x)", (unsigned int)r);
	}
	QString path = QDir::currentPath();
	QString filepath = QDir::currentPath() + "filename";
	QAxObject *excel = NULL;
	QAxObject *workbooks = NULL;
	QAxObject *workbook = NULL;
	excel = new QAxObject("Excel.Application");
	if (!excel) {
		QMessageBox::critical(NULL, "错误信息", "EXCEL对象丢失");
		return;
	}
	excel->dynamicCall("SetVisible(bool)", true); // 这句话如果是office2013中一定要,否则会无法读取文件
	workbooks = excel->querySubObject("Wor
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值