在Excel中创建图表时,常见的情况是需要使用工作表中的指定数据范围(Sheet.Range[])来创建图表,例如“使用 Spire.XLS 创建 Excel 图表”一文中的方法。鉴于不同的图表创建需求,本篇文章将介绍如何通过Spire.XLS for.NET来实现不使用工作表中的数据,直接通过代码数据创建Excel图表。
C#
//创建工作簿
Workbook wb = new Workbook();
//获取第一个工作表
Worksheet sheet = wb.Worksheets[0];
//添加图表,并指定图表类型
Chart chart = sheet.Charts.Add(ExcelChartType.LineMarkersStacked);
//添加图表系列
var series1 = chart.Series.Add();
//添加数据
series1.EnteredDirectlyValues = new object[] { 254, 221, 438, 158, 250, 300 };
series1.EnteredDirectlyCategoryLabels = new object[] {"英国","美国","中国","加拿大","泰国","新加坡"};
//格式化图表标题及坐标轴
chart.ChartTitle = "上半年产量(万吨)";
chart.ChartTitleArea.Size = 12;
chart.PrimaryCategoryAxis.Title = "原产国";
chart.PrimaryValueAxis.Title = "产 量";
//填充图表背景色
chart.PlotArea.ForeGroundColor = Color.Bisque;
//保存文档
wb.SaveToFile("result.xlsx", ExcelVersion.Version2013);
VB.NET
'创建工作簿
Dim wb As New Workbook()
'获取第一个工作表
Dim sheet As Worksheet = wb.Worksheets(0)
'添加图表,并指定图表类型
Dim chart As Chart = sheet.Charts.Add(ExcelChartType.LineMarkersStacked)
'添加图表系列
Dim series1 = chart.Series.Add()
'添加数据
series1.EnteredDirectlyValues = New Object() {254, 221, 438, 158, 250, 300}
series1.EnteredDirectlyCategoryLabels = New Object() {"英国", "美国", "中国", "加拿大", "泰国", "新加坡"}
'格式化图表标题及坐标轴
chart.ChartTitle = "上半年产量(万吨)"
chart.ChartTitleArea.Size = 12
chart.PrimaryCategoryAxis.Title = "原产国"
chart.PrimaryValueAxis.Title = "产 量"
'填充图表背景色
chart.PlotArea.ForeGroundColor = Color.Bisque
'保存文档
wb.SaveToFile("result.xlsx", ExcelVersion.Version2013)
图表创建结果: