使用VC++6.0 MFC OLE重置Excel 图表公式

先添加图表相关类

_Chart ,ChartObjects,ChartObject,Series

添加方法:

 

依次添加各个类;

2.相关代码

                _Chart  chart;
                ChartObjects chartObjects;
                ChartObject charObject;
                Series series;
                LPDISPATCH lpDisp;
                LPDISPATCH lpDispSeries;

		//获取页码
		sheet1 = m_sheets.GetItem(vThree);
		m_range = sheet1.GetCells();
		//获取所有图表
		lpDisp = sheet1.ChartObjects(covOptional);
		chartObjects.AttachDispatch(lpDisp);
		//获取第几个图表
		lpDisp = chartObjects.Item(_variant_t(long(i+1)));
		charObject.AttachDispatch(lpDisp);
		//图表付给单个表
		chart.AttachDispatch(charObject.GetChart());
		//获取第几个公式 Serirs
		lpDispSeries = chart.SeriesCollection(_variant_t(long(1)));
		//付给公式
		series.AttachDispatch(lpDispSeries);
		//重置公式 
           strText.Format("=SERIES(,'1'!$D$%d:$M$%d,'1'!$D$%d:$M$%d,1)",i*nCopyRow+18 ,i*nCopyRow+18, i*nCopyRow+19, i*nCopyRow+19);
		series.SetFormula(strText);
		
		//获取第几个公式 Serirs
		lpDispSeries = chart.SeriesCollection(_variant_t(long(3)));
		//付给公式
		series.AttachDispatch(lpDispSeries);
		//重置公式
		strText.Format("=SERIES(\"小\",{0,10.5},('1'!$P$%d,'1'!$P$%d),3)", i*nCopyRow+3, i*nCopyRow+3);
		series.SetFormula(strText);	

这是修改公式,如果不修改公式,直接画图,则直接用chart画图即可

猜你喜欢

转载自blog.csdn.net/weixin_37999268/article/details/86574932
今日推荐