想用对应的数据域的数据生成曲线。遇到问题了,在设置曲线图的属性时,不知道该怎么用QT提供的dynamicCall和querySubObject函数去调用ActiveX的接口提供的,设置曲线图属性的函数。先给代码:
#include <QtGui>
#include <QAxObject>
#include <QAxWidget>
#include <qaxselect.h>
int main(int argc, char **argv)
{
QApplication a(argc, argv);
QAxWidget excel("Excel.Application");
excel.setProperty("Visible", true);//显示当前窗口
QAxObject * workbooks = excel.querySubObject("WorkBooks");//获取excel的集合指针
QAxObject *workbook = workbooks->querySubObject("Open (const QString &)",QString("c:/test.xls"));//打开指定路径的xls文档
QAxObject * worksheets = workbook->querySubObject("WorkSheets");//获取sheets的集合指针
QAxObject * worksheet = workbook->querySubObject("WorkSheets(int)",1);
QAxObject * chartobjects = worksheet->querySubObject("ChartObjects");//获取ChartObjects的集合指针
QAxObject *newchartobject = chartobjects->querySubObject("Add(int,int,int,int)",100,30,400,250);//新建一个图表,并指定坐标
newchartobject->setProperty("ChartTitle","fuckWorld");//指定图表的标题
QAxObject *range=worksheet->querySubObject("Cells(int,int)",1,10);//获取数据源
//不知道这儿该怎么设置了,想把Cells(1,10)里的数据弄成曲线.,查VBA查到一个ChartWizard函数可以用,但是这个函数的参数类型
//不被QT支持。现在就特别悲剧,知道有函数接口可以用,但是不知道怎么用QT的方法去调用它。都快崩溃了
workbook->dynamicCall("Close (Boolean)", false);
excel.dynamicCall("Quit (void)");
return a.exec();
}
另外,QT的最新免费版本已经支持ActiveX的操作,我用的是2010.2.1的。
有弄过的朋友请帮下忙,急