QT在excel文档里画折线图?

never_QL 2010-07-28 12:41:15
谁能帮忙写一个最简单最简单的例程?就是根据excel里的一组数据,在excel里生成一个曲线图。
数据比如是1,3,4,5,6,4,2,1。
谢谢了,万分感谢。
弄了很久了,对QT调用ActiveX的方法很不熟悉。实在没办法了。
...全文
472 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
never_QL 2010-07-28
  • 打赏
  • 举报
回复
怎么就那么悲剧,SeriesCollection 写成SeriesCollcetion,妈的当时就抽了自己几巴掌,fuck
never_QL 2010-07-28
  • 打赏
  • 举报
回复
excel是2003版本的
tingsking18 2010-07-28
  • 打赏
  • 举报
回复
excel什么版本?
内部关系,看看excelOLE导出的类不就明白了么
never_QL 2010-07-28
  • 打赏
  • 举报
回复
我试着调试你给的代码,出现了下面的错误:
QAxBase::dynamicCallHelper: SeriesCollcetion: No such property in [unknown]

好像是下面这句的原因:
QAxObject *SeriesCollections = activeChart->querySubObject("SeriesCollection");

另外请问你有excel内部的结构关系吗?比如workbooks包含workbook等等,整个的框架
tingsking18 2010-07-28
  • 打赏
  • 举报
回复
折线图的定义是4
把上面的97改成4就可以了。
tingsking18 2010-07-28
  • 打赏
  • 举报
回复
和普通调OLE的方法一样。

QAxObject * worksheet = workbook->querySubObject("Worksheets(int)", 1);
QAxObject *charts = excel.querySubObject("Charts");
QAxObject *activeChart = charts->querySubObject("Add");
activeChart->setProperty("ChartType",97);

QAxObject *SeriesCollections = activeChart->querySubObject("SeriesCollection");

SeriesCollections->dynamicCall("NewSeries (void)");
QAxObject *SeriesCollection1 = activeChart->querySubObject("SeriesCollection(int)", 1);
SeriesCollection1->setProperty("Name","333");
SeriesCollection1->setProperty("Values","={1,4,5,6,2}");
activeChart->setProperty("Location",1);
activeChart->setProperty("HasDataTable",true);
QAxObject *HasDataTable = activeChart->querySubObject("DataTable");
HasDataTable->setProperty("ShowLegendKey",true);

16,203

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧