形状是一种非常有用的工具,可以将原始数据转化为视觉上吸引人且信息丰富的表现形式。通过在 Excel 中插入形状,你可以为你的电子表格增添一些视觉上的吸引力,使其更具有表现力和专业性。本文将演示如何使用 Python 和 Spire.XLS for Python 库在 Excel 中插入和删除形状。
安装 Spire.XLS for Python
本方案需要 Spire.XLS for Python 和 plum-dispatch v1.7.4。您可以通过以下 pip 命令将它轻松安装到 Windows 中。
pip install Spire.XLS
如果您不清楚如何安装,请参考此教程: 如何在 Windows 中安装 Spire.XLS for Python
Python 在 Excel 中插入形状
通过使用 Spire.XLS 提供的 Worksheet.PrstGeomShapes.AddPrstGeomShape() 方法,你可以向 Excel 工作表中添加多种类型的形状,包括线条、矩形、三角形和椭圆等。此外,你还可以对添加的形状进行自定义,例如向形状添加文本,选择纯色、渐变色或图片来填充形状,还可以为形状设置阴影样式。以下是详细步骤:
- 创建一个 Workbook 对象。
- 使用 Workbook.Worksheets[] 属性获取第一个工作表。
- 使用 Worksheet.PrstGeomShapes.AddPrstGeomShape() 方法向工作表添加形状。
- 使用 IPrstGeomShape.Text 属性向形状添加文本。
- 使用 IPrstGeomShape.Fill.ForeColor 属性填充形状的颜色。
- 使用 IPrstGeomShape.Fill.FillType 属性将形状的填充类型设置为纯色。
- 重复上述步骤,向工作表添加更多形状。
- 使用 Workbook.SaveToFile() 方法保存结果文件。
- Python
from spire.xls import *
from spire.xls.common import *
# 创建Workbook对象
workbook = Workbook()
# 获取第一个工作表
sheet = workbook.Worksheets[0]
# 向工作表添加一个三角形形状
triangle = sheet.PrstGeomShapes.AddPrstGeomShape(2, 2, 100, 100, PrstGeomShapeType.Triangle)
# 向形状添加文本
triangle.Text = "文本"
# 使用纯色填充三角形
triangle.Fill.ForeColor = Color.get_Yellow()
triangle.Fill.FillType = ShapeFillType.SolidColor
# 向工作表添加一个心形形状
heart = sheet.PrstGeomShapes.AddPrstGeomShape(2, 5, 100, 100, PrstGeomShapeType.Heart)
# 使用渐变色填充心形
heart.Fill.ForeColor = Color.get_Red()
heart.Fill.FillType = ShapeFillType.Gradient
# 向工作表添加一个默认颜色的箭头形状
arrow = sheet.PrstGeomShapes.AddPrstGeomShape(10, 2, 100, 100, PrstGeomShapeType.CurvedRightArrow)
# 设置箭头的阴影样式
arrow.Shadow.Angle = 90
arrow.Shadow.Distance = 10
arrow.Shadow.Size = 150
arrow.Shadow.Color = Color.get_Gray()
arrow.Shadow.Blur = 30
arrow.Shadow.Transparency = 1
arrow.Shadow.HasCustomStyle = True
# 向工作表添加一个云形状
cloud = sheet.PrstGeomShapes.AddPrstGeomShape(10, 5, 100, 100, PrstGeomShapeType.Cloud)
# 使用自定义图片填充云形状
cloud.Fill.CustomPicture(Image.FromFile("image.jpg"), "image.jpg")
cloud.Fill.FillType = ShapeFillType.Picture
# 保存结果文件
workbook.SaveToFile("插入形状.xlsx", ExcelVersion.Version2013)
workbook.Dispose()
Python 从 Excel 中删除形状
形状可以改善工作簿的视觉外观,但也会增加文件大小。删除不必要的形状有助于减小文件大小,使其更易管理、共享或存储。Spire.XLS for Python 提供了 Worksheet.PrstGeomShapes[index].Remove() 方法,用于从工作表中删除形状。具体步骤如下:
- 创建一个 Workbook 类的对象。
- 使用 Workbook.LoadFromFile() 方法加载 Excel 文件。
- 使用 Worksheet.PrstGeomShapes[index].Remove() 方法从工作表中移除特定的形状。
- 使用 Workbook.SaveToFile() 方法保存结果文件。
- Python
from spire.xls import *
from spire.xls.common import *
# 创建Workbook对象
workbook = Workbook()
# 加载Excel文件
workbook.LoadFromFile("插入形状.xlsx")
# 获取第一个工作表
sheet = workbook.Worksheets[0]
# 从工作表中移除第一个形状
sheet.PrstGeomShapes[0].Remove()
# 保存结果文件
workbook.SaveToFile("删除形状.xlsx", ExcelVersion.Version2013)
workbook.Dispose()
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。