正确使用get_range来制作图表
本文关键字:range get | 更新日期: 2023-09-27 18:26:13
我正在使用以下代码尝试收费,但它正在引发com异常。我正在试着做一张图表。我的代码有明显的错误吗?错误出现在get_range行上。
static void makechart(int counter, int startcount, Worksheet sourcesheet)
{
Range chartrange;
string rangestr = "G" + startcount.ToString() + ":G" + counter.ToString() + ",I" + startcount.ToString() + ":I" + counter.ToString();
ChartObjects xlcharts = (ChartObjects)sourcesheet.ChartObjects(Type.Missing);
ChartObject myChart = (ChartObject)xlcharts.Add(10, 80, 300, 250);
Chart chartPage = myChart.Chart;
chartrange = objsheet.get_Range(rangestr,Type.Missing);
//chartrange = sourcesheet.get_Range("G1", "B" + counter + 1);
chartPage.SetSourceData(chartrange, Type.Missing);
chartPage.ChartType = XlChartType.xlBarClustered;
}
这应该有效:
替换:
string rangestr = "G" + startcount.ToString() + ":G" + counter.ToString() + ",I" + startcount.ToString() + ":I" + counter.ToString();
带有:
string range1 = "G" + startcount.ToString() + ":G" + counter.ToString();
string range2 = "I" + startcount.ToString() + ":I" + counter.ToString();
和
chartrange = objsheet.get_Range(rangestr,Type.Missing);
带有:
chartrange = objsheet.get_Range(range1,range2);