`

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#导出 Excel和图形 Vs2010

    在C#编程环境中,Visual Studio 2010是一个常用且功能强大的开发工具,用于创建各种类型的应用程序,包括那些需要处理数据导出到Excel和生成图形的项目。本资源包"ExportToExcelAndChart"显然是为了帮助开发者实现这...

    C#导出Excel和图形.zip

    本压缩包“C#导出Excel和图形.zip”很可能包含一系列示例代码或教程,旨在帮助开发者学习如何在C#应用程序中生成Excel文件和图表。下面将详细探讨这个主题,以及相关的知识点。 1. **Excel导出**: - **NPOI库**:...

    C#二维三维图形绘制工程实例宝典

    第四部分介绍的是如何在C#中应用微软Office的Excel组件来实现各种二维及三维图形的绘制。这部分内容可能会涉及使用C#与Excel的交互编程,通过Excel展现图形,以及利用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实现各种二维及三维图形,第五...

    excel数据曲线绘制工具

    在IT行业中,Excel数据曲线绘制工具是用于将电子表格中的数值数据转化为图形表示的重要工具,尤其在数据分析、统计和报告制作等领域中应用广泛。这里我们主要关注的是一个名为"ChartManager.exe"的程序,它可能是一...

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

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

    C#中串口接收数据并生成Excel和数据图片.zip_excel_excel 串口_excel串口_串口采集_采集

    在本文中,我们将深入探讨如何使用C#进行串口通信,并结合Excel处理接收到的数据,以及生成相关的数据图片。串口通信是计算机硬件之间交换数据的一种常见方式,而在软件开发中,C#提供了丰富的库来支持这一功能。...

    实时、历史曲线绘制 c#

    在IT行业中,实时和历史曲线绘制是数据...综上所述,实时和历史曲线绘制在C#中涉及了图形库的使用、数据处理、性能优化以及用户交互等多个方面。通过学习和实践,开发者可以构建出功能强大且直观的曲线图表应用程序。

    C# 打印表格 winform打印Excel表格

    在.NET框架中,C#是一种常用的编程语言...总之,实现C# WinForm应用中打印Excel表格涉及了文件读取、数据绑定、图形绘制等多个技术环节,但通过合理的代码组织和利用已有的资源,可以创建出高效且易于维护的解决方案。

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

    在C#编程环境中,我们可以利用各种库来处理不同的任务,如读取文本文件、操作Excel、生成图表以及创建Word文档。下面将详细讲解如何实现标题和描述中的功能。 首先,要从TXT文本文件中读取数据,我们可以使用System...

    c#-Excel图片汇入功能.rar

    在C#编程中,将Excel中的图片导入到DataTable并显示在DataGridView中是一项常见的需求,尤其在数据处理和报表展示的场景下。这个压缩包“c#-Excel图片汇入功能.rar”显然提供了一个完整的示例工程,用于演示如何实现...

    c#各种图形报表开发实例

    在C#编程环境中,开发图形报表是一项常见的任务,特别是在创建数据可视化应用或企业级系统时。本教程将探讨如何利用C#实现各种类型的图形报表,包括2D、3D以及更多创新形式。以下是对C#图形报表开发实例的详细解析。...

    C#中给Excel添加水印的具体方法

    在C#中给Excel添加水印的方法主要通过编程实现,而Excel本身并没有提供直接添加水印的功能。因此,我们通常会使用变通的方式,比如添加页眉图片或者艺术字来模仿水印效果。下面详细介绍该方法的步骤和相关知识点。 ...

    用c#制作的画图工具

    在本文中,我们将深入探讨如何使用C#编程语言制作一个简单的画图工具。C#是一种广泛应用于Windows桌面应用开发的面向对象的语言,尤其适合构建图形用户界面(GUI)应用程序。这个"绘图工具1.2"项目可能包含了实现...

    C# winform打印excel的方法

    在实际操作过程中,首先使用NPOI生成Excel报告,然后使用Spire.xls将Excel文件转换为图片格式,随后通过Graphics类的DrawImage方法将图片绘制到PrintDocument提供的Graphics对象上,最终通过PrintDocument控件的...

Global site tag (gtag.js) - Google Analytics