C# 创建EXCEL图表并保存为图片的实例
作者:E-iceblue 时间:2023-03-07 07:27:24
数据表格能够清晰的呈现数据信息,但是我们对于一些繁杂多变的数据想要很直观的看到数据变化走势或者数据的占比时,数据图表会更具代表性,并且在呈现数据信息上也更形象,也能获取更多纯数字信息所不能直接展现的信息。在下面的代码中,将向您展示如何通过使用免费的Free Spire XLS for .NET组件来实现。
原数据表格:
C#
using Spire.Xls;
using System.Drawing;
using System.Drawing.Imaging;
namespace CreateChart_XLS
{
class Program
{
static void Main(string[] args)
{
//创建一个Workbook类实例,加载Excel文档
Workbook workbook = new Workbook();
workbook.LoadFromFile(@"C:\Users\Administrator\Desktop\Sample.xlsx");
//获取第一个工作表
Worksheet sheet = workbook.Worksheets[0];
//设置工作表的名称
sheet.Name = "柱状图";
sheet.GridLinesVisible = false;
//创建柱状图
Chart chart = sheet.Charts.Add(ExcelChartType.ColumnClustered);
//指定用于生成图表的数据区域
chart.DataRange = sheet.Range["A2:G6"];
chart.SeriesDataFromRange = false;
//指定图表所在的位置
chart.LeftColumn = 1;
chart.TopRow = 9;
chart.RightColumn = 12;
chart.BottomRow = 26;
//设置图表的名称及字体格式
chart.ChartTitle = "上半年产品销售情况(单位:万美元)";
chart.ChartTitleArea.IsBold = true;
chart.ChartTitleArea.Size = 12;
//设置X轴坐标名称及字体格式
chart.PrimaryCategoryAxis.Title = "产品类别";
chart.PrimaryCategoryAxis.Font.IsBold = true;
chart.PrimaryCategoryAxis.TitleArea.IsBold = false;
//设置Y轴坐标名称及字体格式
chart.PrimaryValueAxis.Title = "销售额";
chart.PrimaryValueAxis.HasMajorGridLines = false;
chart.PrimaryValueAxis.TitleArea.TextRotationAngle = 90;
chart.PrimaryValueAxis.MinValue = 0.5;
chart.PrimaryValueAxis.TitleArea.IsBold = false;
//设置图例的位置
chart.Legend.Position = LegendPositionType.Right;
//保存文档
workbook.SaveToFile("ColumnChart.xlsx", ExcelVersion.Version2013);
//加载生成图表后的Excel文档
workbook.LoadFromFile("ColumnChart.xlsx");
//遍历工作簿,诊断是否包含图表
Image[] images = workbook.SaveChartAsImage(sheet);
for (int i = 0; i < images.Length; i++)
{
//将图表保存为图片
images[i].Save(string.Format("img-{0}.png", i), ImageFormat.Png);
}
}
}
}
生成的图表文件及图片如下图所示:
组件获取地址:https://www.e-iceblue.cn/Downloads/Free-Spire-XLS-NET.html
来源:http://www.cnblogs.com/Yesi/archive/2017/12/07/7999434.html
标签:C#,创建,EXCEL图表,保存,图片
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Android zygote启动流程详解
2023-09-13 07:44:12
C#使用iTextSharp操作PDF
2023-07-29 02:03:11
![](https://img.aspxhome.com/file/2023/4/98154_0s.png)
Java读取txt文件中的数据赋给String变量方法
2022-08-04 22:32:19
java设计模式理解依赖于抽象不依赖具体的分析
2023-09-13 01:41:45
java判断中文字符串长度的简单实例
2022-12-19 09:00:26
C#导出生成excel文件的方法小结(xml,html方式)
2023-10-03 16:32:26
Android模块化中数据传递/路由跳转实现示例
2023-06-29 03:12:06
Android单片机与蓝牙模块通信实例代码
2023-02-21 17:21:05
![](https://img.aspxhome.com/file/2023/5/128965_0s.jpg)
Java基础之Thymeleaf的简单使用
2023-08-24 19:00:22
![](https://img.aspxhome.com/file/2023/6/58086_0s.png)
Mybatis使用JSONObject接收数据库查询的方法
2023-01-17 05:10:43
![](https://img.aspxhome.com/file/2023/7/62647_0s.png)
如何解决springmvc文件下载,内容损坏的问题
2023-10-11 07:12:10
![](https://img.aspxhome.com/file/2023/9/89959_0s.png)
Android OKHttp使用简介
2022-05-01 06:28:38
Android RecyclerView item选中放大被遮挡问题详解
2023-04-11 17:58:31
![](https://img.aspxhome.com/file/2023/7/137337_0s.png)
Eclipse下Javassist正确使用方法代码解析
2021-07-24 18:43:57
![](https://img.aspxhome.com/file/2023/3/77943_0s.jpg)
简单实现Java版学生管理系统
2022-06-22 15:16:19
详解C语言的mem系列函数
2021-07-10 13:10:18
![](https://img.aspxhome.com/file/2023/2/124052_0s.png)
Android系统工具类详解
2023-07-12 22:11:57
C#实现对图片文件的压缩、裁剪操作实例
2022-07-09 01:50:51
基于Spring Security的Oauth2授权实现方法
2022-12-19 16:52:18
![](https://img.aspxhome.com/file/2023/0/72280_0s.png)
C#利用ScriptControl动态执行JS和VBS脚本
2023-04-29 21:26:13