繁体   English   中英

在C#中更新Excel系列图表

[英]updating Excel Series Chart in C#

我正在使用C#重新创建VBA程序,并在更新Series图表时遇到问题。 我在Google和论坛上花费了惊人的时间,试图为自己找到问题的答案,但似乎无法弄清楚。

我要做的是更新系列图表以查看工作表中不是图表所在位置的数据,并更新范围。

我的问题在于,在更新系列图表时,C#只接受范围。 但是,“系列”图表所需的范围包含工作表名称,并且范围不能包含文本(因此,我被认为是)。 我需要重新创建的范围的示例如下;

=ANZ!$J$313:$J$737,ANZ!$M$313:$O$737

我目前的代码是:

CloudAllTrialsDataPage = UpdateBook.Worksheets[CloudAllTrialsChartDataPage1];
LastRow = CloudAllTrialsDataPage.Range["J:J"].Find(StartDate, Type.Missing, XlFindLookIn.xlValues, XlLookAt.xlWhole, XlSearchOrder.xlByRows, XlSearchDirection.xlNext, Type.Missing, Type.Missing, Type.Missing).Row;
FoundCell = CloudAllTrialsDataPage.Range["J:J"].Find(strDateLM, Type.Missing, XlFindLookIn.xlValues, XlLookAt.xlWhole, XlSearchOrder.xlByRows, XlSearchDirection.xlNext, Type.Missing, Type.Missing, Type.Missing).Row;
Excel.Range Range1 = CloudAllTrialsDataPage.Range["J" + FoundCell + ":J" + LastRow];
Excel.Range Range2 = CloudAllTrialsDataPage.Range["M" + FoundCell + ":O" + LastRow];
Range DataRange = CloudAllTrialsDataPage.Range[Range1].Address + CloudAllTrialsDataPage.Range[Range2].Address;
chartObject2 = CloudAllTrialsChartPage.ChartObjects(Type.Missing);
myChart = (Excel.ChartObject)chartObject2.Item("Monthly2");
myChart.Chart.SetSourceData(DataRange);

所有代码都可以正确提取并正常工作,直到将范围插入图表为止。 我尝试了各种不同的解决方法,但总是遇到尝试将工作表名称添加到范围的问题。

非常感谢任何帮助或指示。

谢谢。

免责声明:我是一个外行,如果我的任何术语“不正确”,请原谅。

好。 所以我想出了我遇到的两个问题。

1)如果您引用正确的图表,通常会有所帮助。

2)要将两个单独的范围合并到序列图范围中,请使用get_Range。 如果将变量设置为,

Excel.Range ChartRange = datapage.get_Range("A1:A6","C1:C6");

这将创建一个包含两个范围的范围。 由于声明的范围与图表不在同一工作表上,因此将自动填写工作表名称。

我确定的最终代码是;

Excel.Range chartRange;
Excel.ChartObjects xlCharts = (Excel.ChartObjects)CloudAllTrialsChartPage.ChartObjects(Type.Missing);
Excel.ChartObject myChart = (Excel.ChartObject)xlCharts.Item("DailyView");
Excel.Chart chartPage = myChart.Chart;
chartRange = CloudAllTrialsDataPage.get_Range("J" + FoundCell + ":J" + LastRow + ",M" + FoundCell + ":O" + LastRow);
chartPage.SetSourceData(chartRange, Missing.Value);

只要其他人需要它,就将其留在这里。 令人惊讶的是,几乎没有关于更新系列图表的建议。 (我能找到。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM