目录
前言.Qt操作Excel基本流程介绍
QAxObject:
QAxObject是Qt提供给程序员从代码中访问Office的对象类,其本质上是一个面向微软操作系统的COM接口,它操作Excel的基本流程如下:

QAxObject将所有Office的工作簿、表格、文档等都作为其子对象,程序员通过调用querySubObject()这个统一的方法来获取各个子对象的实例,再用dynamicCall()方法执行各对象上的具体操作。
1.启动Excel进程,获取Excel工作簿集
创建Excel进程使用如下语句:
QAxObject *myexcel = new QAxObject("Excel.Application");
其中,myexcel为进行的实例对象名,该名称由用户自己定义,整个程序中引用一致即可。
通过进程获取Excel工作簿集,语句为:
QAxObject *myworks = myexcel->querySubObject("WorkBooks");
其中,myworks是工作簿集的引用,用户可根据需要定义其名称,同样,在程序中也要求引用一致。
有了Excel进程和工作簿集的引用,就可以使用它们对Excel进行一系列文档级别的操作。例如:
myworks->dynamicCall("Add"); //添加一个工作簿
myexcel->querySubObject("ActiveWorkBook"); //获取当前活动的工作簿
2.获取电子表格集
每个Excel工作簿中都可以包含若干电子表格(Sheet),通过打开的当前工作簿获取其所有电子表格的程序语句为:
QAxObject *mysheets = workbook->querySubObject("Sheets");
其中,workbook也是一个QAxObject对象,引用的是当前正在操作的一个活动工作簿。
同理,在获取了电子表格集后,就可以像操作工作簿文档那样,对其中的表格执行各种操作。例如:
mysheets->dynamicCall("Add"); //添加一个表格
workbook->querySubObject("ActiveSheet") //获取工作簿中当前活动表格
sheet->setProperty("Name",字符串) //给表格命名
3.操作单元格及其数据
对Excel的操作最终要落实到对某个电子表格单元格中数据信息的读写上,在Qt中的Excel单元格同样是作为QAxObject对象来看待的,对它的操作通过其所在表格的QAxObject对象句柄执行,如下:
QAxObject *cell = sheet->querySubObject("Range(QVariant, QVariant)", 单元格编号);
cell->dynamicCall(

——利用Qt读取Excel表格&spm=1001.2101.3001.5002&articleId=120208099&d=1&t=3&u=142900cea9124383b145e2f35ab68e22)
220

被折叠的 条评论
为什么被折叠?



