QAxObject来操作Excel的一些命令

连接Excel控件

QAxWidget excel("Excel.Application");

显示当前窗口:
excel.setProperty("Visible", true);

 更改 Excel 标题栏:
excel.setProperty("Caption", "Invoke Microsoft Excel");

不显示任何警告信息

setProperty("DisplayAlerts",0)

添加新工作簿:
QAxObject * workbooks = excel.querySubObject("WorkBooks");
workbooks->dynamicCall("Add");

打开已存在的工作簿:
workbooks->dynamicCall("Open (const QString&)", QString("c:/test.xls"));

获取活动工作簿:
QAxObject * workbook = excel.querySubObject("ActiveWorkBook");

获取所有的工作表:
QAxObject * worksheets = workbook->querySubObject("WorkSheets");

获取工作表数量:
int intCount = worksheets->property("Count").toInt();

获取第一个工作表:
QAxObject * worksheet = workbook->querySubObject("Worksheets(int)", 1);

获取cell的值:
QAxObject * range = worksheet->querySubObject("Cells(int,int)", 1, 1 );

获取已使用区域

m_pworksheet->querySubObject("UsedRange")

获取行数

QAxObject *rows = usedrange->querySubObject("Rows"); 

int nRows = rows->property("Count").toInt();

获取列数

QAxObject *columns = usedrange->querySubObject("Columns");

int nCols = columns->property("Count").toInt();

以上操作不一定每个都可用(都好用),仅作为参考吧。起码我第9)个就没成功,不知为何?后来我改用了Range(QVariant, QVariant)的方法来替代它。
 

发布了45 篇原创文章 · 获赞 4 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/ly1390811049/article/details/100154240
今日推荐