QT操作Excel

原创 2012年03月27日 10:15:14

新建QT GUI项目,在选择选项中勾选ActiveQT Container.

#include <qaxobject.h>

 QAxObject *obj = new QAxObject("Excel.Application");
 obj->setProperty("Visible", true);
 obj->setProperty("Caption", "Hello world");
 QAxObject *workBooks = obj->querySubObject("Workbooks");
 //打开已存的excel文件
 //QAxObject *workBook = workBooks->querySubObject("Open(QString)", "D:\\QTDemo\\OpExcel\\Debug\\1.xls");
 workBooks->dynamicCall("Add");
 QAxObject *workBook = workBooks->querySubObject("Item(const int)", 1);
 QAxObject *sheets = workBook->querySubObject("Sheets");
 QAxObject *sheet = sheets->querySubObject("Item(int)", 1);
 QAxObject *range = sheet->querySubObject("Range(const QVariant&)", QVariant(QString("A1:A1")));
 range->dynamicCall("Clear()");
 range->dynamicCall("SetValue(const QVariant&)", QVariant(5));
 obj->dynamicCall("SetScreenUpdating(bool)", true);

在Excel中插入图表

 QAxObject *excel = new QAxObject("Excel.Application", 0);
 excel->setProperty("SheetsInNewWorkbook", 1);
  excel->setProperty("Visible", true);
 QAxObject *workbooks = excel->querySubObject("Workbooks");
 QAxObject *workbook = workbooks->querySubObject("Add");
 QAxObject *worksheet = workbook->querySubObject("Worksheets (int)", 1);

 worksheet->setProperty("Name","Dati applicazione");

 QAxObject *cell = worksheet->querySubObject("Cells(int,int)", 1, 1);
 cell->dynamicCall("SetValue(String)", "Serie");

 cell = worksheet->querySubObject("Cells(int,int)", 1, 2);
 cell->dynamicCall("SetValue(String)", "Dati");

 for (int i = 2; i < 10; i++){
 cell = worksheet->querySubObject("Cells(int,int)", i, 1);
 cell->dynamicCall("SetValue(int)", i - 1);
 cell = worksheet->querySubObject("Cells(int,int)", i, 2);
 cell->dynamicCall("SetValue(double)", qrand());
 }

 QAxObject *charts = workbook->querySubObject("Charts");
 QAxObject *chart = charts->querySubObject("Add");
 chart->setProperty("Name", "Report Grafico dei dati");
 chart->setProperty("ChartType", 73);

 QAxObject * serie = chart->querySubObject("SeriesCollection(int)", 1);
 QAxObject * xvalues = worksheet->querySubObject("Range(A2:A9)");
 QAxObject * yvalues = worksheet->querySubObject("Range(B2:B9)");

 serie->setProperty("XValues", xvalues->asVariant());
 serie->setProperty("Values", yvalues->asVariant());

 

Qt操作excel

QAxWidget excel("Excel.Application"); 1) 显示当前窗口: excel.setProperty("Visible", true); 2) 更改 Excel ...
  • fqx111
  • fqx111
  • 2013年04月27日 12:42
  • 1224

Qt使用QAxObject快速批量读取Excel内容

网上各种教程用的方法主要是如下这一句: QAxObject * range = worksheet->querySubObject("Cells(int,int)", 1, 1 );  这种方法当然也...
  • sandeepin
  • sandeepin
  • 2017年05月05日 22:55
  • 998

Qt QAxObject操作excel文件过程总结

最近由于需要Qt来操作Excel文件,所以想把QAxObject用起来,此次使用也是机缘巧合,记录了一下心路历程。 此前走了很多弯路,希望做同样事情的人就别纠缠于同样的错误就好。 配制方面: 1...
  • a156392343
  • a156392343
  • 2015年08月29日 22:14
  • 4215

QT调用Excel时,设置自动调整列宽和所有单元格居中

楼主最近公司项目需要利用QT条用
  • wangxinyao318
  • wangxinyao318
  • 2014年11月04日 14:58
  • 1382

12、借助Jacob实现Java打印报表(Excel、Word)

12、使用Jacob来处理文档   Word或Excel程序是以一种COM组件形式存在的。如果能够在Java中调用相应组件,便能使用它的方法来获取文档中的文本信息。Jacob是一个JAVA到微软...
  • u013237163
  • u013237163
  • 2013年12月30日 17:26
  • 990

PB 操作EXCEL表的方法

PB中操作Excel的技巧集一 创建Excel对象  eole=CREATEOBJECT("Excel.application")  2.添加新工作簿   eole.Workbooks.add...
  • samrtian
  • samrtian
  • 2015年07月14日 13:51
  • 3656

VC实现对Excel表格的操作

转载请注明原文网址: http://www.cnblogs.com/xianyunhe/archive/2011/09/25/2190485.html 通过VC实现对Excel表格的操作的...
  • limingmcu
  • limingmcu
  • 2015年03月20日 18:27
  • 962

利用QT生成Word文档

前段时间因一个项目的需要,需要用Qt生成Word报告,网上查阅并借鉴了相关资料终于解决了基本的问题。本文档中主要是基本数据的填充、数据表格和图片几种类型,所以是用word模板(.dot)和书签进行操作...
  • zhangfuliang123
  • zhangfuliang123
  • 2016年11月30日 21:17
  • 5019

MFC 创建和操作Excel2007 文件

目标: 生成一个excel文件,该文件可以使用exc
  • baijiaheizhiganmao
  • baijiaheizhiganmao
  • 2014年05月20日 12:47
  • 3862

.net对Excel进行开发的编程总结

在老师的安排下和几个同学出差去公司主要一起开发一个OA系统,从没方案到一步步地细化模块并分工,一段时间后把一个基本的样板做了出来。虽然说这很不符合开发的规范,过程也挺痛苦的,毕竟什么开发需求的文档都没...
  • decajes
  • decajes
  • 2013年12月20日 11:13
  • 3919
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:QT操作Excel
举报原因:
原因补充:

(最多只允许输入30个字)