组合图表是指在同一张图表中包含两种或以上样式的图表,这种图表可以帮助我们更全面的分析数据。常见的组合图表是柱形图和折线图混合图表,这篇文章将介绍如何利用C#和免费版Spire.XLS组件创建这种图表。
Excel文档数据截图:
在使用以下代码前需要引用Spire.Xls.dll文件,并添加以下命名空间:
using Spire.Xls;
using Spire.Xls.Charts;
具体步骤:
步骤1:创建Workbook实例并加载Excel文档。
Workbook workbook = new Workbook();
workbook.LoadFromFile("Input.xlsx");
步骤2:获取第一张工作表。
Worksheet sheet = workbook.Worksheets[0];
步骤3:添加图表到工作表。
Chart chart = sheet.Charts.Add();
chart.DataRange = sheet.Range["A1:D5"];
chart.SeriesDataFromRange = false;
步骤4:设置图表的位置。
chart.LeftColumn = 6;
chart.TopRow = 1;
chart.RightColumn = 12;
chart.BottomRow = 13;
步骤5:给图表的数据系列设置不同的图表类型。
//将图表的系列1和系列2的图表类型设置为柱形图表
var cs1 = (ChartSerie)chart.Series[0];
cs1.SerieType = ExcelChartType.ColumnClustered;
var cs2 = (ChartSerie)chart.Series[1];
cs2.SerieType = ExcelChartType.ColumnClustered;
//将图表的系列3的图表类型设置为折线图表
var cs3 = (ChartSerie)chart.Series[2];
cs3.SerieType = ExcelChartType.LineMarkers;
//设置图表标题为空
chart.ChartTitle = string.Empty;
步骤6:保存文档。
workbook.SaveToFile("Output.xlsx", ExcelVersion.Version2010);
效果图:
完整代码:
Workbook workbook = new Workbook();
//加载Excel文档
workbook.LoadFromFile("Input.xlsx");
//获取第一张工作表
Worksheet sheet = workbook.Worksheets[0];
//添加图表到工作表
Chart chart = sheet.Charts.Add();
chart.DataRange = sheet.Range["A1:D5"];
chart.SeriesDataFromRange = false;
//设置图表的位置
chart.LeftColumn = 6;
chart.TopRow = 1;
chart.RightColumn = 12;
chart.BottomRow = 13;
//将图表的系列1和系列2的图表类型设置为柱形图表
var cs1 = (ChartSerie)chart.Series[0];
cs1.SerieType = ExcelChartType.ColumnClustered;
var cs2 = (ChartSerie)chart.Series[1];
cs2.SerieType = ExcelChartType.ColumnClustered;
//将图表的系列3的图表类型设置为折线图表
var cs3 = (ChartSerie)chart.Series[2];
cs3.SerieType = ExcelChartType.LineMarkers;
//设置图表标题为空
chart.ChartTitle = string.Empty;
//保存文档
workbook.SaveToFile("Output.xlsx", ExcelVersion.Version2010);