微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

C# 操作Excel图形——绘制、读取、隐藏、删除图形

简介

本篇文章将介绍C# 如何处理Excel图形相关的问题,包括以下内容要点:

1.绘制图形

   1.1 绘制图形并添加文本到图形

   1.2 添加图片到图形

   1.3 设置图形阴影效果

   1.4 设置图形透明度

2. 提取图形中的文本、图片

3. 设置图形的显示、隐藏

4. 删除图形

   4.1删除指定图形

   4.2 删除所有图形

所需工具

PS: 下载安装该类库后,注意在项目程序中添加引用Spire.Xls.dll文件(dll文件可在安装路径下的Bin文件夹中获取

注:Spire.xls能支持的图形种类很多,常见的Office Excel中的图形,这个类库也都能实现,

示例代码(供参考)

1. 绘制图形

【C#】

using System.Drawing;
 Spire.Xls;
 Spire.Xls.Core;

namespace Add_shapes_to_Excel
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建实例
            Workbook workbook = new Workbook();
            获取一个工作表
            Worksheet sheet = workbook.Worksheets[0];

            添加“太阳”形状的图形,并填充颜色,设置图形的透明度为50%
            IPrstGeomShape Triangle = sheet.PrstGeomShapes.AddPrstGeomShape(2,170,1)">160,PrstGeomShapeType.Sun);
            Triangle.Fill.ForeColor = Color.Orange;
            Triangle.Fill.FillType = ShapeFillType.solidColor;    
Triangle.Fill.Transparency = 0.5; Triangle.Text
= "IT'S A SUNNY DAY";添加文本 添加禁止”标志的图形,并填充渐变颜色 IPrstGeomShape heart = sheet.PrstGeomShapes.AddPrstGeomShape(7,1)">140,1)">140 Color.Red; heart.Fill.FillType = ShapeFillType.Gradient; 添加云朵形状的图形 IPrstGeomShape Cloud = sheet.PrstGeomShapes.AddPrstGeomShape(15,1)">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(sm.png"),1)">"); cloud.Fill.FillType = ShapeFillType.Picture; 保存并打开文档 workbook.SavetoFile(AddShapes.xlsxstem.Diagnostics.Process.Start(); } } }

图形插入效果

 

2.提取图形中的文本和图片

【C#】

 System.Drawing.Imaging;
 System.IO;
 System.Text;
 Extract_text_and_image_from_Excel_shape
{
    创建实例,加载Excel工作表
            Workbook workbook =  Workbook();
            workbook.LoadFromFile(test.xlsx);

            提取指定形状中的文本内容,并将提取到的文本保存到指定文档
            IPrstGeomShape shape1 = sheet.PrstGeomShapes[];
            string s = shape1.Text;
            StringBuilder sb =  StringBuilder();
            sb.AppendLine(s);
            File.WriteallText(ExtractText.txtstem.Diagnostics.Process.Start(提取指定图形中的图片,并保存图片到指定文件
            IPrstGeomShape shape2 = sheet.PrstGeomShapes[3];
            Image image = shape2.Fill.Picture;
            image.Save(ShapeImage.pngstem.Diagnostics.Process.Start();
        }
    }
}

提取结果:

3. 设置图形的隐藏、显示

【C#】

 Spire.Xls;

 HideShapes_XLS
{
    创建实例,加载Excel文档
            Workbook workbook = 隐藏第3个图形
            sheet.PrstGeomShapes[2].Visible = false;
            显示图形
            sheet.PrstGeomShapes[1].Visible = true;

            HideShape.xlsx);
        }
    }
}

设置效果

4. 删除Excel图形

【C#】

 RemoveShapes_XLS
{
    实例化Workbook类对象,加载Excel文件
            Workbook workbook = 删除一个图形
            sheet.PrstGeomShapes[].Remove();

            删除所有图形
            for (int i = sheet.PrstGeomShapes.Count-1; i >= 0; i--)
            {
                sheet.PrstGeomShapes[i].Remove();
            }

            保存并打开文件
            workbook.SavetoFile(DeleteShape.xlsx);
        }
    }
}

图形删除效果

以上是关于“C#操作Excel中图形”的介绍,如需转载,请注明出处。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐