简介
本篇文章将介绍C# 如何处理Excel图形相关的问题,包括以下内容要点:
1.绘制图形
1.1 绘制图形并添加文本到图形
1.2 添加图片到图形
1.3 设置图形阴影效果
2. 提取图形中的文本、图片
3. 设置图形的显示、隐藏
4. 删除图形
4.1删除指定图形
4.2 删除所有图形
所需工具:Free Spire.XLS for .NET 8.3 (社区版)
PS: 下载安装该类库后,注意在项目程序中添加引用Spire.Xls.dll文件(dll文件可在安装路径下的Bin文件夹中获取)
注:Spire.xls能支持的图形种类很多,常见的Office Excel中的图形,这个类库也都能实现,
示例代码(供参考)
1. 绘制图形
【C#】
using System.Drawing; using Spire.Xls; using Spire.Xls.Core; namespace Add_shapes_to_Excel { class Program { static void Main(string[] args) { //创建实例 Workbook workbook = new Workbook(); //获取第一个工作表 Worksheet sheet = workbook.Worksheets[0]; //添加“太阳”形状的图形,并填充颜色 IPrstGeomShape Triangle = sheet.PrstGeomShapes.AddPrstGeomShape(2, 2, 170, 160, PrstGeomShapeType.Sun); Triangle.Fill.ForeColor = Color.Orange; Triangle.Fill.FillType = ShapeFillType.SolidColor; Triangle.Text = "IT'S A SUNNY DAY";//添加文本 //添加“禁止”标志的图形,并填充渐变颜色 IPrstGeomShape heart = sheet.PrstGeomShapes.AddPrstGeomShape(2, 7, 140, 140, PrstGeomShapeType.NoSmoking); heart.Fill.ForeColor = Color.Red; heart.Fill.FillType = ShapeFillType.Gradient; //添加云朵形状的图形 IPrstGeomShape Cloud = sheet.PrstGeomShapes.AddPrstGeomShape(15, 2, 160, 160, PrstGeomShapeType.Cloud); //设置图形阴影效果 Cloud.Shadow.Angle = 90; Cloud.Shadow.Distance = 10; Cloud.Shadow.Size = 100; Cloud.Shadow.Color = Color.SteelBlue; Cloud.Shadow.Blur = 30; Cloud.Shadow.Transparency = 1; Cloud.Shadow.HasCustomStyle = true; //添加五角星形状的图形,并加载图片来填充图形 IPrstGeomShape cloud = sheet.PrstGeomShapes.AddPrstGeomShape(15, 7, 160, 160, PrstGeomShapeType.Star5); cloud.Fill.CustomPicture(Image.FromFile("sm.png"), "sm.png"); cloud.Fill.FillType = ShapeFillType.Picture; //保存并打开文档 workbook.SaveToFile("AddShapes.xlsx", ExcelVersion.Version2013); System.Diagnostics.Process.Start("AddShapes.xlsx"); } } }
图形插入效果:
2.提取图形中的文本和图片
【C#】
using System.Drawing; using System.Drawing.Imaging; using System.IO; using System.Text; using Spire.Xls; using Spire.Xls.Core; namespace Extract_text_and_image_from_Excel_shape { class Program { static void Main(string[] args) { //创建实例,加载Excel工作表 Workbook workbook = new Workbook(); workbook.LoadFromFile("test.xlsx"); //获取第一个工作表 Worksheet sheet = workbook.Worksheets[0]; //提取指定形状中的文本内容,并将提取到的文本保存到指定文档 IPrstGeomShape shape1 = sheet.PrstGeomShapes[0]; string s = shape1.Text; StringBuilder sb = new StringBuilder(); sb.AppendLine(s); File.WriteAllText("ExtractText.txt", sb.ToString()); System.Diagnostics.Process.Start("ExtractText.txt"); //提取指定图形中的图片,并保存图片到指定文件 IPrstGeomShape shape2 = sheet.PrstGeomShapes[3]; Image image = shape2.Fill.Picture; image.Save("ShapeImage.png", ImageFormat.Png); System.Diagnostics.Process.Start("ShapeImage.png"); } } }
提取结果:
3. 设置图形的隐藏、显示
【C#】
using Spire.Xls; namespace HideShapes_XLS { class Program { static void Main(string[] args) { //创建实例,加载Excel文档 Workbook workbook = new Workbook(); workbook.LoadFromFile("test.xlsx"); //获取第一个工作表 Worksheet sheet = workbook.Worksheets[0]; //隐藏第3个图形 sheet.PrstGeomShapes[2].Visible = false; //显示图形 //sheet.PrstGeomShapes[1].Visible = true; //保存并打开文档 workbook.SaveToFile("HideShape.xlsx", ExcelVersion.Version2013); System.Diagnostics.Process.Start("HideShape.xlsx"); } } }
设置效果:
4. 删除Excel图形
【C#】
using Spire.Xls; namespace RemoveShapes_XLS { class Program { static void Main(string[] args) { //实例化Workbook类对象,加载Excel文件 Workbook workbook = new Workbook(); workbook.LoadFromFile("test.xlsx"); //获取第一个工作表 Worksheet sheet = workbook.Worksheets[0]; //删除第一个图形 sheet.PrstGeomShapes[0].Remove(); //删除所有图形 //for (int i = sheet.PrstGeomShapes.Count-1; i >= 0; i--) //{ // sheet.PrstGeomShapes[i].Remove(); //} //保存并打开文件 workbook.SaveToFile("DeleteShape.xlsx", ExcelVersion.Version2013); System.Diagnostics.Process.Start("DeleteShape.xlsx"); } } }
图形删除效果:
以上是关于“C#操作Excel中图形”的介绍,如需转载,请注明出处。
相关推荐
使用C#创建Excel表格、绘制图形 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; ...
第一部分介绍c#基本的数据类型和图形基础技术,第二部分讲述二维图形的基本算法,第三部分介绍三维图形的相关知识及各种三维图形的实现,第四部分介绍c#中应用微软office的excel实现各种二维及三维图形,第五部分...
该代码实现使用VS2010里面的Chart控件,制作象excel那样的数据图形,在excel中可以对数据进行简单的作图,但是如果这些数据在不同的文件里,打开之后再作图很麻烦,如果结果.Net文件打开的操作,比较方便。
7.4 三维图形中的特殊坐标系统 439 7.4.1 球坐标系统 440 7.4.2 圆柱坐标系统 443 7.5 特殊坐标中的实际应用 447 7.5.1 球坐标示例 447 7.5.2 双缓存 463 第8章 三维图形 473 8.1 三维图形基础 473 8.1.1 ...
闲着没事 自己做的一个简单的绘制形状的程序 现在暂时只能绘制三种形状
第一部分介绍C#基本的数据类型和图形基础技术,第二部分讲述二维图形的基本算法,第三部分介绍了三维图形的相关知识及各种三维图形的实现,第四部分介绍了C#中应用微软Office的Excel实现各种二维及三维图形,第五...
C# 简单方便地生成Excel,不需调用Office 组件,可提供: ...5.在表格内自定义绘制图形、添加自定义注释标签 6.添加并设置单元格的下拉列表显示 另外,能够非常方便的在WEB中动态生成Excel并下载
c#从txt文本中读取数据并连接Excel画图表并将图表及数据导入world
C# 绘制 柱形图 折线图 饼形图 (2005 源码) 通过 GDI 根据数据 绘制图形
开发环境VS2008,坐标点数据为TXT或者excel格式,程序读取坐标点,并转换为shp文件输出,保存后的shp文件可以在其他程序中打开,绘制的是多边形
主要内容有C#开发环境的使用、C#语言基础应用、字符串处理技术、数组和集合的使用、面向对象编程技术、...C#与Word互操作、高效应用Excel、基本图形绘制、图像处理技术、常用图表应用、动画处理技术、音频与视频控制...
通过从数据库里读取数据集合来绘制圆柱形图。稍加改动即可以成为根据实时数据绘制圆柱图,根据EXCEL表格数据绘制圆柱图,等等。... 3、绘制图形 依赖关系:需要当前系统中的SQL数据库读取接口可用。 编译环境:VS2008
实例173 绘制图形验证码 实例174 以椭圆形显示图像 实例175 使用双缓冲技术绘图 实例176 批量添加图片水印 第16章 线程的使用 实例177 使用线程读取数据库中的数据 实例178 使用线程制作qq农场小游戏 实例179 使用...
《C#开发实战1200例(第1卷)(附光盘)》以开发人员在项目开发中经常遇到的问题和必须掌握的技术为中心,介绍了应用c#进行程序开发各个方面的知识和技巧,主要包括c#编程基础、windows窗体、控件应用、文件操作、c#...
主要内容有C#开发环境的使用、C#语言基础应用、字符串处理技术、数组和集合的使用、面向对象编程技术、...C#与Word互操作、高效应用Excel、基本图形绘制、图像处理技术、常用图表应用、动画处理技术、音频与视频控制...
《C#开发实战1200例(第1卷)(附光盘)》以开发人员在项目开发中经常遇到的问题和必须掌握的技术为中心,介绍了应用c#进行程序开发各个方面的知识和技巧,主要包括c#编程基础、windows窗体、控件应用、文件操作、c#...