Visual C++ 6.0 操作excel2003进行图表绘制
2015-04-04 13:27
211 查看
Visual C++ 6.0 操作excel2003进行图表绘制
在实现对excel2003进行读写的基础之上,可以实现excel图表的绘制。1. 在excel.h和excel.cpp添加_Chart、ChartObjects、Charts类
2. 绘制图表
Cpp代码
_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. 可加入图表类型常量
Cpp代码
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
相关文章推荐
- Raphaël 是一个小型的 JavaScript 库,用来简化在页面上显示向量图的工作。你可以用它在页面上绘制各种图表、并进行图片的剪切、旋转等操作。
- Visual C++用libtiff对tiff文件进行操作-配置
- Visual C++用libtiff对tiff文件进行操作-配置
- visual c++ 6.0 的窗口操作一不小心把控件关了请问怎么打开啊?
- 使用Python进行数学图表绘制
- [C++] Visual C++ 6.0 中关于鼠标操作的五个API函数操作技巧
- python使用pygal进行绘制数据图表和监控图表
- fusioncharts 3.4 抛弃swf的方式,采用纯js的html5 进行图表绘制后出现的一些问题。
- python3.6 使用pycha进行图表绘制(由于pycha长期未更新无法直接兼容python3.6,需做部分修改)
- MFC 扩展库 - CJ60Lib ( 针对Visual C++ 6.0进行的升级 )
- visual c++与sql server 2000数据库进行ADO后台链接的操作
- 用Graphviz进行可视化操作──绘制函数调用关系图
- python使用pygal进行绘制数据图表和监控图表
- C#操作office进行Excel图表创建,保存本地,word获取
- Visual C++用libtiff对tiff文件进行操作-unresolved external symbol _TIFFOpen
- 文本操作快捷键,Visual C++ 6.0 默认快捷键选项+扩展阅读调试功能
- visual c++ 2008进行MySQL编程(ODBC) --(二) CDatabase操作数据库
- [置顶] Qt中使用html语言对word进行图表操作
- 使用Visual C++编程进行文件操作