[英]C# VSTO add-in for Excel - Select Chart object by name?
[英]Reading Chart information for VSTO Excel Add-in
我试图用C#编写Excel 2007的VSTO加载项,但从以前生成的图表中读取值时遇到问题。 加载项会复制大型数据集的一部分,然后使用相同的属性但不同的工作表和源数据重新绘制数据。 当我尝试从原始工作表中获取图表标题(和其他属性)时,会导致异常。 我试图使用Globals.ThisAddIn.Application.Charts的几种变体作为起点,但是我一直没有成功。 我的假设是我没有正确参考旧图表。
任何帮助,将不胜感激。
谢谢。
经过一些挖掘,我意识到我应该已经从图表的SeriesCollection中读取属性。 类似以下工作
片段Excel.ChartObjects xlCharts =(Excel.ChartObjects)newWorkSheet.ChartObjects(Type.Missing);
Excel.ChartObject myChart = (Excel.ChartObject)xlCharts.Add(10, 60, 720, 432);
Excel.Chart chart = myChart.Chart;
Excel.ChartObject oldchartObject = (Excel.ChartObject)VstoWorksheet.ChartObjects(1);
Excel.Chart oldchart = oldchartObject.Chart;
Excel.SeriesCollection seriesCollection = (Excel.SeriesCollection)chart.SeriesCollection(Type.Missing);
Excel.SeriesCollection oldSeriesCollection = (Excel.SeriesCollection)oldchart.SeriesCollection(Type.Missing);
Excel.Series oSeries;
for (int i = 1; i <= (ColumnCount - 2); i++)
{
oSeries = seriesCollection.NewSeries();
Excel.Series oOldSeries = oldSeriesCollection.Item(i);
oOldSeries = (Excel.Series)oldchart.SeriesCollection(i);
oSeries.MarkerStyle = oOldSeries.MarkerStyle;
oSeries.Name = oOldSeries.Name;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.