数据表格能够清晰的呈现数据信息,但是我们对于一些繁杂多变的数据想要很直观的看到数据变化走势或者数据的占比时,数据图表会更具代表性,并且在呈现数据信息上也更形象,也能获取更多纯数字信息所不能直接展现的信息。在下面的代码中,将向您展示如何通过使用免费的Free Spire XLS for .NET组件来实现。
原数据表格:
1 using Spire.Xls;
2 using System.Drawing;
3 using System.Drawing.Imaging;
5 namespace CreateChart_XLS
7 class Program
9 static void Main(string[] args)
10 {
11 //创建一个Workbook类实例,加载Excel文档
12 Workbook workbook = new Workbook();
13 workbook.LoadFromFile(@"C:\Users\Administrator\Desktop\Sample.xlsx");
15 //获取第一个工作表
16 Worksheet sheet = workbook.Worksheets[0];
18 //设置工作表的名称
19 sheet.Name = "柱状图";
20 sheet.GridLinesVisible = false;
22 //创建柱状图
23 Chart chart = sheet.Charts.Add(ExcelChartType.ColumnClustered);
25 //指定用于生成图表的数据区域
26 chart.DataRange = sheet.Range["A2:G6"];
27 chart.SeriesDataFromRange = false;
29 //指定图表所在的位置
30 chart.LeftColumn = 1;
31 chart.TopRow = 9;
32 chart.RightColumn = 12;
33 chart.BottomRow = 26;
35 //设置图表的名称及字体格式
36 chart.ChartTitle = "上半年产品销售情况(单位:万美元)";
37 chart.ChartTitleArea.IsBold = true;
38 chart.ChartTitleArea.Size = 12;
40 //设置X轴坐标名称及字体格式
41 chart.PrimaryCategoryAxis.Title = "产品类别";
42 chart.PrimaryCategoryAxis.Font.IsBold = true;
43 chart.PrimaryCategoryAxis.TitleArea.IsBold = false;
45 //设置Y轴坐标名称及字体格式
46 chart.PrimaryValueAxis.Title = "销售额";
47 chart.PrimaryValueAxis.HasMajorGridLines = false;
48 chart.PrimaryValueAxis.TitleArea.TextRotationAngle = 90;
49 chart.PrimaryValueAxis.MinValue = 0.5;
50 chart.PrimaryValueAxis.TitleArea.IsBold = false;
52 //设置图例的位置
53 chart.Legend.Position = LegendPositionType.Right;
55 //保存文档
56 workbook.SaveToFile("ColumnChart.xlsx", ExcelVersion.Version2013);
59 //加载生成图表后的Excel文档
60 workbook.LoadFromFile("ColumnChart.xlsx");
62 //遍历工作簿,诊断是否包含图表
63 Image[] images = workbook.SaveChartAsImage(sheet);
65 for (int i = 0; i < images.Length; i++)
66 {
67 //将图表保存为图片
68 images[i].Save(string.Format("img-{0}.png", i), ImageFormat.Png);
69 }
70 }
71 }
生成的图表文件及图片如下图所示:
组件获取地址:https://www.e-iceblue.cn/Downloads/Free-Spire-XLS-NET.html
以上是对Excel数据表格生成并转化为图表的全部操作,希望对你有所帮助,欢迎转载(转载请注明出处)
感谢浏览!