`
zyy200411
  • 浏览: 46169 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Visual C++ 6.0 操作excel2003进行图表绘制

阅读更多

在实现对excel2003进行读写的基础之上,可以实现excel图表的绘制。

1.  在excel.h和excel.cpp添加_Chart、ChartObjects、Charts类

2.  绘制图表

    

_Chart			chart;
ChartObjects	chartobjects;
Charts			charts;
LPDISPATCH		lpDisp;
......
long left, top, width, height;
left = 100;
top = 10;
width = 350;
height = 250;
	
lpDisp = sheet.ChartObjects(covOptional);
ASSERT(lpDisp);
chartobjects.AttachDispatch(lpDisp); // Attach the lpDisp pointer
// for ChartObjects to the chartobjects
// object.
ChartObject chartobject = chartobjects.Add(left, top, width, height); 
//defines the rectangle, 
// adds a new chart at that rectangle and 
// assigns its object reference to a 
// ChartObject variable named chartobject
chart.AttachDispatch(chartobject.GetChart()); // GetChart() returns
// LPDISPATCH, and this attaches 
// it to your chart object.
	
lpDisp = sheet.GetRange(COleVariant("A2"), COleVariant("B200"));
// The range containing the data to be charted.
ASSERT(lpDisp);
range.AttachDispatch(lpDisp);
	
VARIANT var; // ChartWizard needs a Variant for the Source range.
var.vt = VT_DISPATCH; // .vt is the usable member of the tagVARIANT
// Struct. Its value is a union of options.
var.pdispVal = lpDisp; // Assign IDispatch pointer
// of the Source range to var.

chart.ChartWizard(var,                    // Source.
	COleVariant((short)11),  // Gallery: 3d Column.
	covOptional,             // Format, use default.
	COleVariant((short)1),   // PlotBy: xlRows.
	COleVariant((short)0),   // CategoryLabels.
	COleVariant((short)1),   // SeriesLabels.
	COleVariant((short)TRUE),  // HasLegend.
	COleVariant("Use by Month"),  // Title.
	COleVariant("Month"),    // CategoryTitle.
	COleVariant("Usage in Thousands"),  // ValueTitles.
	covOptional              // ExtraTitle.
);

   即可实现图表绘制。

3.  可加入图表类型常量

typedef enum XlChartType 
{ 
	xlColumnClustered = 51, 
	xlColumnStacked = 52, 
	xlColumnStacked100 = 53, 
	xl3DColumnClustered = 54, 
	xl3DColumnStacked = 55, 
	xl3DColumnStacked100 = 56, 
	xlBarClustered = 57, 
	xlBarStacked = 58, 
	xlBarStacked100 = 59, 
	xl3DBarClustered = 60, 
	xl3DBarStacked = 61, 
	xl3DBarStacked100 = 62, 
	xlLineStacked = 63, 
	xlLineStacked100 = 64, 
	xlLineMarkers = 65, 
	xlLineMarkersStacked = 66, 
	xlLineMarkersStacked100 = 67, 
	xlPieOfPie = 68, 
	xlPieExploded = 69, 
	xl3DPieExploded = 70, 
	xlBarOfPie = 71, 
	xlXYScatterSmooth = 72, 
	xlXYScatterSmoothNoMarkers = 73, 
	xlXYScatterLines = 74, 
	xlXYScatterLinesNoMarkers = 75, 
	xlAreaStacked = 76, 
	xlAreaStacked100 = 77, 
	xl3DAreaStacked = 78, 
	xl3DAreaStacked100 = 79, 
	xlDoughnutExploded = 80, 
	xlRadarMarkers = 81, 
	xlRadarFilled = 82, 
	xlSurface = 83, 
	xlSurfaceWireframe = 84, 
	xlSurfaceTopView = 85, 
	xlSurfaceTopViewWireframe = 86, 
	xlBubble = 15, 
	xlBubble3DEffect = 87, 
	xlStockHLC = 88, 
	xlStockOHLC = 89, 
	xlStockVHLC = 90, 
	xlStockVOHLC = 91, 
	xlCylinderColClustered = 92, 
	xlCylinderColStacked = 93, 
	xlCylinderColStacked100 = 94, 
	xlCylinderBarClustered = 95, 
	xlCylinderBarStacked = 96, 
	xlCylinderBarStacked100 = 97, 
	xlCylinderCol = 98, 
	xlConeColClustered = 99, 
	xlConeColStacked = 100, 
	xlConeColStacked100 = 101, 
	xlConeBarClustered = 102, 
	xlConeBarStacked = 103, 
	xlConeBarStacked100 = 104, 
	xlConeCol = 105, 
	xlPyramidColClustered = 106, 
	xlPyramidColStacked = 107, 
	xlPyramidColStacked100 = 108, 
	xlPyramidBarClustered = 109, 
	xlPyramidBarStacked = 110, 
	xlPyramidBarStacked100 = 111, 
	xlPyramidCol = 112, 
	xl3DColumn = 0xFFFFEFFC, 
	xlLine = 4, 
	xl3DLine = 0xFFFFEFFB, 
	xl3DPie = 0xFFFFEFFA, 
	xlPie = 5, 
	xlXYScatter = 0xFFFFEFB7, 
	xl3DArea = 0xFFFFEFFE, 
	xlArea = 1, 
	xlDoughnut = 0xFFFFEFE8, 
	xlRadar = 0xFFFFEFC9 
} XlChartType; 

   各类型的具体说明为:

图表类型 说明 常量
柱形图  簇状 xlColumnClustered
三维簇状柱形图 xl3DColumnClustered
堆积柱形图 xlColumnStacked
三维堆积柱形图 xl3DColumnStacked
百分比堆积柱形图 xlColumnStacked100
三维百分比堆积柱形图 xl3DColumnStacked100
三维柱形图 xl3DColumn簇状
条形图  簇状条形图 xlBarClustered
三维簇状条形图 xl3DBarClustered
堆积条形图 xlBarStacked
三维堆积条形图 xl3DBarStacked
百分比堆积条形图 xlBarStacked100
三维百分比堆积条形图 xl3DBarStacked100
折线图  折线图 xlLine
数据点折线图 xlLineMarkers
堆积折线图 xlLineStacked
堆积数据点折线图 xlLineMarkersStacked
百分比堆积折线图 xlLineStacked100
百分比堆积数据点折线图 xlLIneMarkersStacked100
折线图三维折线图 xl3DLine
饼图  饼图 xlPie
分离型饼图 xlPieExploded
三维饼图 xl3Dpie
三维分离型饼图 xl3DPieExploded
复合饼图 xlPieOfPie
饼图复合柱饼图 xlBarOfPie
XY (散点图)  散点图 xlXYScatter
平滑线散点图 xlXYScatterSmooth
无数据点折线散点图 xlXYScatterLinesNoMarkers
折线散点图 xlXYScatterLines
无数据点折线散点图 xlXYScatterLinesNoMarkers
气泡图 气泡图 xlBubble
三维气泡图 xlBubble3DEffect
面积图  面积图 xlArea
三维面积图 xl3DArea
堆积面积图 xlAreaStacked
三维堆积面积图 xl3DAreaStacked
百分比堆积面积图 xlAreaStacked100
三维百分比堆积面积图 xl3DAreaStacked100
圆环图  圆环图 xlDoughnut
分离型圆环图 xlDoughnutExploded
雷达图  雷达图 xlRadar
数据点雷达图 xlRadarMarkers
填充雷达图 xlRadarFilled
曲面图  三维曲面图 xlSurface
曲面图(俯视图) xlSurfaceTopView
三维曲面图(框架图) xlSurfaceWireframe
曲面图(俯视框架图) xlSurfaceTopViewWireframe
股价图  盘高-盘低-收盘图 xlStockHLC
成交量-盘高-盘低-收盘图 xlStockVHLC
开盘-盘高-盘低-收盘图 xlStockOHLC
成交量-开盘-盘高-盘低-收盘图 xlStockVOHLC
圆柱图  簇状柱形圆柱图 xlCylinderColClustered
簇状条形圆柱图 xlCylinderBarClustered
堆积柱形圆柱图 xlCylinderColStacked
堆积条形圆柱图 xlCylinderBarStacked
百分比堆积柱形圆柱图 xlCylinderColStacked100
百分比堆积条形圆柱图 xlCylinderBarStacked100
三维柱形圆柱图 xlCylinderCol
圆锥图  簇状柱形圆锥图 xlConeColClustered
簇状条形圆锥图 xlConeBarClustered
堆积柱形圆锥图 xlConeColStacked
堆积条形圆锥图 xlConeBarStacked
百分比堆积柱形圆锥图 xlConeColStacked100
百分比堆积条形圆锥图 xlConeBarStacked100
三维柱形圆锥图 xlConeCol
棱锥图  簇状柱形棱锥图 xlPyramidColClustered
簇状条形棱锥图 xlPyramidBarClustered
堆积柱形棱锥图 xlPyramidColStacked
堆积条形棱锥图 xlPyramidBarStacked
百分比堆积柱形棱锥图 xlPyramidColStacked100
百分比堆积条形棱锥图 xlPyramidBarStacked100
三维柱形棱锥图 xlPyramidCol

分享到:
评论

相关推荐

    跟着实例学 Visual C++6.0访问数据库、绘图、制表

    《跟着实例学 Visual C++6.0访问数据库、绘图、制表》这本书主要涵盖了三个核心主题:使用Visual C++6.0中的MFC(Microsoft Foundation Classes)框架访问数据库、进行图形绘制以及创建表格。MFC是微软为Windows平台...

    用 Microsoft Visual C++ 6.0做的学生成绩管理系统

    《基于Microsoft Visual C++ 6.0的学生成绩管理系统详解》 Microsoft Visual C++ 6.0(简称VC++ 6.0)是微软公司推出的一款强大的C++集成开发环境,它以其高效的代码编译、友好的用户界面和丰富的库支持在软件开发...

    mschart示例_vc6.0

    在本文中,我们将深入探讨如何在Visual C++ 6.0环境下使用MSChart控件来创建图表,包括柱状图、线状图和饼图。MSChart是一个强大的数据可视化工具,它允许开发者将复杂的数据以直观的方式呈现出来,这对于数据分析和...

    MSCHart 滚动条

    7. **测试和调试**:进行充分的测试,确保滚动条操作流畅,且图表显示无误。 在实际应用中,可能会遇到一些挑战,比如如何平滑过渡、如何处理大数据集的内存管理等。因此,实现这个功能可能需要一定的编程技巧和对...

    VC++6.0的实时曲线图表程序

    "VC++6.0的实时曲线图表程序"是一个典型的案例,它利用Microsoft Visual C++ 6.0这一经典开发环境来设计并实现了一个能够动态显示数据变化的图形界面应用程序。 VC++6.0是微软公司推出的C++编程工具,虽然现在已经...

    C++Builder 6.0下OpenGL编程技术(1~3章).rar

    总的来说,这个教程将引导你逐步掌握在C++Builder 6.0下使用OpenGL进行图形编程的基本技巧,从初始化环境到绘制基本图形,再到实现更复杂的光照和纹理效果。通过学习,你可以为自己的应用程序添加丰富的视觉表现,...

    UML Visual C++ with MFC.doc

    首先,确保你拥有必要的软件:Rational Rose Enterprise或Rational Rose Professional C++ Edition以及Visual C++ 6.0。接下来,你需要安装Visual C++的ADD-IN,以使Rose与Visual C++之间能进行通信。 1. 启动...

    vc_graph.rar_GRAPH 6_Graph VC_VC 绘图_VCGraph_vc VISUAL GRAPH

    对于初学者而言,掌握如何在Visual C++ 6.0环境下使用图形库进行图形绘制是至关重要的一步。本篇文章将详细介绍VC开发的绘图程序——VCGraph,以及如何利用它在VC++ 6.0中创建和操作图形。 VCGraph是一款专门用于...

    VC++6.0 使用TeeChart v8.0 绘制多条曲线及圆滑处理.

    TeeChart是一款强大的图表控件,适用于多种编程环境,包括Visual C++,它提供了一系列丰富的图表类型和自定义选项,使得数据可视化变得简单易行。 首先,你需要获取并安装TeeChart v8.0控件。这个控件可以在其官方...

    《VC++6.0中文版程序员开发指南》

    - **ActiveX控件**:一种可以在不同应用程序之间共享的组件技术,通常用于实现复杂的功能模块,如图表绘制、数据库访问等。 - **MFC**:Microsoft Foundation Classes,一套基于Windows API的类库,简化了Windows...

    计算机基础上机实验大纲.pdf

    3. Excel:作为Microsoft Office套件中的一部分,出现多次可能说明课程中包含了Excel的数据处理、图表绘制、函数使用等方面的上机实验。 4. PowerPoint:同样作为Office套件之一,频繁出现可能意味着学生需要通过...

    VC++6.0 用户界面制作技术与应用实例

    在IT领域,Visual C++ 6.0是一款经典的开发环境,尤其对于初学者和专业开发者而言,它在创建用户界面方面具有广泛的应用。本篇将深入探讨VC++6.0在用户界面(UI)设计中的技术和实践案例。 一、MFC(Microsoft ...

    股票信息系统管理实现

    MsChart控件则用于数据可视化,如绘制股票价格的图表,以便用户直观地了解股票走势。通过这样的方式,股票信息系统能为用户提供个性化服务,帮助他们更好地把握市场动态,做出明智的投资决策。 总的来说,股票信息...

    MFC绘制曲线,VC6.0编译

    在本文中,我们将深入探讨如何使用Microsoft Foundation Class (MFC) 库在Visual C++ 6.0环境下绘制曲线。MFC是微软提供的一套C++类库,它简化了Windows应用程序开发,包括图形用户界面(GUI)的构建。在这个过程中...

    c++经典实验 绝对让你受益匪浅!!!

    C++经典实验旨在深入理解和掌握面向对象编程的基本概念和技巧,通过使用...这些实验涵盖了C++语言的基础和面向对象编程的核心概念,以及使用Visual C++6.0进行Windows应用开发的技能,对提升学生的编程能力大有裨益。

    非常漂亮的图表 可以做各种行业图表

    VC++6.0是微软推出的老版本Visual C++开发工具,尽管已经有些老旧,但因其稳定性和对底层操作的良好支持,至今仍被一些开发者用来编写高性能的桌面应用程序。 标签“图表”明确了这个压缩包的内容与图表设计和绘制...

    VC6.0完成统计图

    在本项目中,"VC6.0完成统计图"是一个基于Microsoft Visual C++ 6.0(简称VC6.0)开发的小型应用程序。这个程序主要用于处理学生分数数据,并通过图形化的方式展示成绩的分布情况。它具备绘制折线图、直方图和饼图的...

    visual c++6访问数据库绘图制表

    在IT领域,Visual C++ 6.0 是一个经典的编程环境,主要用于开发Windows应用程序。它提供了丰富的功能,包括对数据库的访问以及图形和表格的绘制。在这个资源中,我们将深入探讨如何利用VC++6实现与数据库的交互以及...

    VC6.0下制作的MFC数据归一化处理软件

    Excel是一款强大的电子表格软件,支持数据的计算、图表绘制等功能。程序可能使用了Microsoft Office的COM接口,或者第三方库(如LibXL、Apache POI)来实现与Excel的交互,将数据写入工作表。 **总结** "VC6.0下...

    GDI+实例

    在本实例中,我们将深入探讨GDI+的核心概念、主要功能以及如何在Visual C++ 6.0环境下进行开发。 GDI+的主要特点包括矢量图形支持、抗锯齿渲染、颜色管理、图像处理等。这些特性使得GDI+成为创建高质量用户界面、...

Global site tag (gtag.js) - Google Analytics