`

C# 在Excel中绘制图形

阅读更多

简介

本篇文章将介绍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中图形”的介绍,如需转载,请注明出处。

 

 

  • 大小: 13 KB
  • 大小: 14.2 KB
  • 大小: 114.9 KB
  • 大小: 77 KB
  • 大小: 79.5 KB
  • 大小: 102.9 KB
1
0
分享到:
评论

相关推荐

    使用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#基本的数据类型和图形基础技术,第二部分讲述二维图形的基本算法,第三部分介绍三维图形的相关知识及各种三维图形的实现,第四部分介绍c#中应用微软office的excel实现各种二维及三维图形,第五部分...

    C#实现数据列作出象Excel的曲线图

    该代码实现使用VS2010里面的Chart控件,制作象excel那样的数据图形,在excel中可以对数据进行简单的作图,但是如果这些数据在不同的文件里,打开之后再作图很麻烦,如果结果.Net文件打开的操作,比较方便。

    C#二维三维图形绘制工程实例宝典 随书光盘

    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#二维三维图形绘制工程实例宝典 / 伍逸著

    第一部分介绍C#基本的数据类型和图形基础技术,第二部分讲述二维图形的基本算法,第三部分介绍了三维图形的相关知识及各种三维图形的实现,第四部分介绍了C#中应用微软Office的Excel实现各种二维及三维图形,第五...

    C# 生成Excel 合并、统计、插入图片、WEB下载、设置样式

    C# 简单方便地生成Excel,不需调用Office 组件,可提供: ...5.在表格内自定义绘制图形、添加自定义注释标签 6.添加并设置单元格的下拉列表显示 另外,能够非常方便的在WEB中动态生成Excel并下载

    c#从txt文本中读取数据并连接Excel画图表并将图表及数据导入world

    c#从txt文本中读取数据并连接Excel画图表并将图表及数据导入world

    C# 绘制 柱形图 折线图 饼形图 (2005 源码)

    C# 绘制 柱形图 折线图 饼形图 (2005 源码) 通过 GDI 根据数据 绘制图形

    C#+AE根据点坐标生成shp文件

    开发环境VS2008,坐标点数据为TXT或者excel格式,程序读取坐标点,并转换为shp文件输出,保存后的shp文件可以在其他程序中打开,绘制的是多边形

    C#开发实例大全(基础卷).软件开发技术联盟(带详细书签) PDF 下载

    主要内容有C#开发环境的使用、C#语言基础应用、字符串处理技术、数组和集合的使用、面向对象编程技术、...C#与Word互操作、高效应用Excel、基本图形绘制、图像处理技术、常用图表应用、动画处理技术、音频与视频控制...

    C#源码:根据数据集合绘制圆柱图

    通过从数据库里读取数据集合来绘制圆柱形图。稍加改动即可以成为根据实时数据绘制圆柱图,根据EXCEL表格数据绘制圆柱图,等等。... 3、绘制图形 依赖关系:需要当前系统中的SQL数据库读取接口可用。 编译环境:VS2008

    明日科技C#开发入门及项目实战

    实例173 绘制图形验证码 实例174 以椭圆形显示图像 实例175 使用双缓冲技术绘图 实例176 批量添加图片水印 第16章 线程的使用 实例177 使用线程读取数据库中的数据 实例178 使用线程制作qq农场小游戏 实例179 使用...

    C#开发实战1200例+第1卷.part7

    《C#开发实战1200例(第1卷)(附光盘)》以开发人员在项目开发中经常遇到的问题和必须掌握的技术为中心,介绍了应用c#进行程序开发各个方面的知识和技巧,主要包括c#编程基础、windows窗体、控件应用、文件操作、c#...

    C#开发实例大全(基础卷)

    主要内容有C#开发环境的使用、C#语言基础应用、字符串处理技术、数组和集合的使用、面向对象编程技术、...C#与Word互操作、高效应用Excel、基本图形绘制、图像处理技术、常用图表应用、动画处理技术、音频与视频控制...

    C#开发实战1200例+第1卷

    《C#开发实战1200例(第1卷)(附光盘)》以开发人员在项目开发中经常遇到的问题和必须掌握的技术为中心,介绍了应用c#进行程序开发各个方面的知识和技巧,主要包括c#编程基础、windows窗体、控件应用、文件操作、c#...

Global site tag (gtag.js) - Google Analytics