Workbook book = app.Workbooks.Add("D:\\Test.xlsx");
Worksheet sheet = book.Worksheets[1];
Chart chart = book.Charts.Add();
获取到这个图表之后,我们可以利用Chart的SetSourceData()方法设置图表的数据源,其接受一个Range对象作为参数,这个Range就是我们需要生产图标的表格数据的范围。
Range range = sheet.get_Range("B2","C4");
chart.SetSourceData(range);
在这里range数据的填充代码就不再展示,最终达到的效果如下,我们成功在excel的首页插入一个名叫chart1的图表:
Microsoft.Office.Interop.Excel.Shape shape = sheet.Shapes.AddChart();
Chart chart = shape.Chart;
AddChart()返回的是一个Shape类型的对象,而Shape有一个属性Chart就是我们的chart图表,接下来设置表格的数据源:
chart.SetSourceData(range);//按照列绘制
最终生成如下的图表:
void SetSourceData( Range Source, Object PlotBy )
我们知道,图表的类型有很多种,包括曲线、柱形图等等。通过Chart的ChartType的属性可以设置图表的显示风格,如下面的代码设置图表的风格为曲线:
chart.ChartType = Microsoft.Office.Interop.Excel.XlChartType.xlLine;
4.3 设置图表的横纵坐标名称
Microsoft.Office.Interop.Excel.Axis xAxis = chart.Axes(Microsoft.Office.Interop.Excel.XlAxisType.xlCategory, Microsoft.Office.Interop.Excel.XlAxisGroup.xlPrimary); Microsoft.Office.Interop.Excel.Axis yAxis = chart.Axes(Microsoft.Office.Interop.Excel.XlAxisType.xlValue, Microsoft.Office.Interop.Excel.XlAxisGroup.xlPrimary); Microsoft.Office.Interop.Excel.Axis zAxis = null; xAxis.HasTitle = true; xAxis.AxisTitle.Text = "X轴标题"; yAxis.HasTitle = true; yAxis.AxisTitle.Text = "Y轴标题";
4.4 设置图表的Title
chart.HasTitle = true; chart.ChartTitle.Text = "图表主Title";
Github位置:
https://github.com/HymanLiuTS/OfficeTestByC-
克隆本项目:
Git clone [email protected]:HymanLiuTS/OfficeTestByC-.git
获取本文源代码:
git checkout L13