C# 不使用工作表数据创建Excel图表
程序员文章站
2022-03-28 10:28:53
...
在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"); } } }
图表创建结果:
(本文完)
上一篇: 异常跟踪栈
下一篇: C# 复制Excel单元格格式