Logo

C# 创建EXCEL图表并保存为图片

photo

2021年07月11日

数据表格能够清晰的呈现数据信息,但是我们对于一些繁杂多变的数据想要很直观的看到数据变化走势或者数据的占比时,数据图表会更具代表性,并且在呈现数据信息上也更形象,也能获取更多纯数字信息所不能直接展现的信息。在下面的代码中,将向您展示如何通过使用免费的Free Spire XLS for .NET组件来实现。

原数据表格:

C#

 1 using Spire.Xls;
 2 using System.Drawing;
 3 using System.Drawing.Imaging;
 4 
 5 namespace CreateChart_XLS
 6 {
 7     class Program
 8     {
 9         static void Main(string[] args)
10         {
11             //创建一个Workbook类实例,加载Excel文档
12             Workbook workbook = new Workbook();
13             workbook.LoadFromFile(@"C:\Users\Administrator\Desktop\Sample.xlsx");
14 
15             //获取第一个工作表
16             Worksheet sheet = workbook.Worksheets[0];
17 
18             //设置工作表的名称
19             sheet.Name = "柱状图";
20             sheet.GridLinesVisible = false;
21 
22             //创建柱状图
23             Chart chart = sheet.Charts.Add(ExcelChartType.ColumnClustered);
24 
25             //指定用于生成图表的数据区域
26             chart.DataRange = sheet.Range["A2:G6"];
27             chart.SeriesDataFromRange = false;
28 
29             //指定图表所在的位置
30             chart.LeftColumn = 1;
31             chart.TopRow = 9;
32             chart.RightColumn = 12;
33             chart.BottomRow = 26;
34 
35             //设置图表的名称及字体格式
36             chart.ChartTitle = "上半年产品销售情况(单位:万美元)";
37             chart.ChartTitleArea.IsBold = true;
38             chart.ChartTitleArea.Size = 12;
39 
40             //设置X轴坐标名称及字体格式
41             chart.PrimaryCategoryAxis.Title = "产品类别";
42             chart.PrimaryCategoryAxis.Font.IsBold = true;
43             chart.PrimaryCategoryAxis.TitleArea.IsBold = false;
44          
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;
51 
52             //设置图例的位置
53             chart.Legend.Position = LegendPositionType.Right;
54 
55              //保存文档
56             workbook.SaveToFile("ColumnChart.xlsx", ExcelVersion.Version2013);
57 
58 
59              //加载生成图表后的Excel文档
60             workbook.LoadFromFile("ColumnChart.xlsx");
61 
62             //遍历工作簿,诊断是否包含图表
63             Image[] images = workbook.SaveChartAsImage(sheet);
64 
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     }
72 }

 

生成的图表文件及图片如下图所示:

组件获取地址:https://www.e-iceblue.cn/Downloads/Free-Spire-XLS-NET.html

以上是对Excel数据表格生成并转化为图表的全部操作,希望对你有所帮助,欢迎转载(转载请注明出处)

感谢浏览!

橙子主题打折出售

其实我不卖,主要是这里是放广告的,所以就放了一个
毕竟主题都没做完,卖了也是坑.

购买它
所有附件
该文章没有附件.
本文为原创文章,请注意保留出处!

如果在*.js文件中获取当自己当前的路径是很重要的。举个例子,如果一个css文件中引用图片,如ba...javascript在js文件中获取路径

热门文章

无法握住的故土 在我们心灵最温暖的角落,总有一寸土地是属于故乡的。虽然我们看似已远离故土,可骨子里对故乡的依恋却是从未冷却过。我们无论漂泊他乡,还是在繁华都市平步青云,可故乡的悠悠情思总会潜入梦乡与你缠绵。是儿时那一缕缕茉莉的清香萦绕在梦境,也是邻家那已锈迹斑斑的铁壶里,开出艳丽的花儿在梦的边缘摇曳。故土就这样根深蒂固地在我们的灵魂深处烙下深深的印记。 作者:Pastore Antonio
1596 浏览量
EWS(Exchange Service)基本使用(获取个人会议,会议室会议内容,会议室列表,发送会议,修改会议,删除会议) 最近公司要求和exchange服务对接,所以稍微研究了一下官方文档,做出以下总结,欢迎大家补充。先...EWS(ExchangeService)基本使用(获取个人会议,会议室会议内容,会议室列表,发送会议,修改会议,删除会议) 作者:Pastore Antonio
1585 浏览量
Sql Server 部署SSIS包完成远程数据传输 本篇介绍如何使用SSIS和作业完成自动更新目标数据任务。**温馨提示:如需转载本文,请注明...SqlServer部署SSIS包完成远程数据传输 作者:Pastore Antonio
1579 浏览量
SQL Server AG集群启动不起来的临时自救大招 背景前晚一朋友遇到AG集群发生来回切换不稳定的情况,情急之下,朋友在命令行使用命令重启WSFC集群...SQLServerAG集群启动不起来的临时自救大招 作者:Pastore Antonio
1573 浏览量
windows 下安装 memcahce 官网上并未提供Memcached的Windows平台安装包,我们可以使用以下链接来下载,你需...windows下安装memcahce 作者:Pastore Antonio
1567 浏览量