形状是一种非常有用的工具,可以将原始数据转化为视觉上吸引人且信息丰富的表现形式。通过在 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 天的临时许可证。