我正在尝试使用Microsoft interop生成excel文件后绘制折线图。 我的A栏是日期,B是费率,C栏是成交量,我想在成交量和日期之间打印图表。
我正在使用此代码绘制折线图。
var charts = worKsheeT.ChartObjects();
var chartObject = charts.Add(60, 10, 300, 300);
var chart = chartObject.Chart;
var range = worKsheeT.get_Range("C1", "C9");
chart.SetSourceData(range);
chart.ChartType = Microsoft.Office.Interop.Excel.XlChartType.xlLine;
但它给了我一张图表,其中yAxis为Volume,xAxis为简单的1,2,3,4,5 ....
先谢谢。
答案 0 :(得分:0)
尝试添加另一个变量:
var series = chart.SeriesCollection();
然后可能
series[1].XValues = worKsheeT.get_Range("A1", "A9");
请记住,C是从零开始的,但Excel(甚至通过互操作)是基于一的。
答案 1 :(得分:0)
经过多次努力,我得到了这个解决方案
Excel.Series series;
Excel.SeriesCollection seriesCollection;
series = seriesCollection.NewSeries();
var Values = "=Data!$B$2:$B$50";//this is range of columns
var XValues = "=Data!$A$2:$A$50";//this is range of columns
series.Name = "series name";
series.Values = Values;
series.XValues = XValues;
series.ChartType = Microsoft.Office.Interop.Excel.XlChartType.xlLine;