class="MsoNormal">在Excel中创建图表时,常见的情况是需要使用工作表中的指定数据范围(Sheet.Range[])来创建图表,即图表创建依赖于表格中的数据源;鉴于不同的图表创建需求,本文将介绍一种不依赖于工作表数据源,直接在代码中通过指定图表数据源来创建Excel图表。
使用工具:Free Spire.XLS for .NET(免费版)
?
获取方法1:官网下载。下载后,解压,安装。在程序中将安装路径下Bin文件夹中的Spire.Xls.dll文档添加引用至vs项目程序。如下引用结果:

方法2:可通过Nuget下载。
?
C# 代码示例
using Spire.Xls;
using System.Drawing;
namespace CreateChartWithoutDataRange
{
class Program
{
static void Main(string[] args)
{
//创建工作簿
Workbook wb = new Workbook();
//获取第一个工作表
Worksheet sheet = wb.Worksheets[0];
//添加图表,并指定图表类型
Chart chart = sheet.Charts.Add(ExcelChartType.LineMarkersStacked);
//添加图表系列
var series1 = chart.Series.Add("1季度");
var series2 = chart.Series.Add("2季度");
//添加数据
series1.EnteredDirectlyValues = new object[] { 254, 221, 438, 158, 250, 300 };
series2.EnteredDirectlyValues = new object[] { 198, 305, 506, 1305, 235, 348 };
series1.EnteredDirectlyCategoryLabels = new object[] {"英国","美国","中国","加拿大","泰国","新加坡"};
//格式化图表标题及坐标轴
chart.ChartTitle = "主要国家上半年产值对比 \n(单位:万美元)";
chart.ChartTitleArea.Size = 12;
chart.PrimaryCategoryAxis.Title = "国家";
chart.PrimaryValueAxis.Title = "金额";
chart.Series[0].DataPoints.DefaultDataPoint.DataLabels.HasValue = true;
chart.Series[1].DataPoints.DefaultDataPoint.DataLabels.HasValue = true;
//填充图表绘图区域背景色
chart.PlotArea.ForeGroundColor = Color.MistyRose;
//保存文档
wb.SaveToFile("result.xlsx", ExcelVersion.Version2013);
System.Diagnostics.Process.Start("result.xlsx");
}
}
}
?
图表创建结果:

?
(本文完)
?