内容控件在 excel 中扮演着重要的角色,为数据输入、展示和用户交互提供了强大的功能。这些控件包括文本框、单选按钮、复选框、下拉框等。这些控件为用户提供了更高效、直观和灵活的数据处理方式,使得 excel 成为一个强大的数据管理和分析工具。本文将介绍如何使用 spire.xls for python 在 python 添加内容控件到 excel 文档和编辑 excel 文档中的内容控件。
安装 spire.xls for python
本教程需要 spire.xls for python 和 plum-dispatch v1.7.4。您可以通过以下 pip 命令将它们轻松安装到 vs code 中。
pip install spire.xls
如果您不确定如何安装,请参考此教程: 如何在 vs code 中安装 spire.xls for python
python 添加内容控件到 excel 文档
spire.xls for python 可以添加 excel 支持到的内容控件,比如文本框、单选按钮、下拉框(也叫组合框)和复选框等等。下面是详细的步骤:
- 创建 workbook 类的对象。
- 使用 workbook.loadfromfile() 方法加载一个 excel 数据文档。
- 使用 workbook.worksheets[] 属性获取所需的工作表。
- 通过 worksheet.textboxes.addtextbox() 方法来添加文本框。
- 通过 worksheet.radiobuttons.add() 方法来添加单选按钮。
- 通过 worksheet.comboboxes.addcombobox() 方法来添加组合框。
- 通过 worksheet.checkboxes.addcheckbox() 方法来添加复选框。
- 使用 workbook.savetofile() 方法保存结果文件。
- python
from spire.xls.common import *
from spire.xls import *
# 创建一个新的 workbook 对象
workbook = workbook()
# 加载现有的 excel 文件
workbook.loadfromfile("data/示例01.xlsx")
# 选择第一个工作表
worksheet = workbook.worksheets[0]
# 设置文本框的高度(单位:磅)
height = 40
# 在工作表上添加一个文本框
textbox = worksheet.textboxes.addtextbox(3, 2, height, 400)
textbox.line.foreknowncolor = excelcolors.black
textbox.text = "张三"
# 在工作表上添加单选按钮
radiobutton1 = worksheet.radiobuttons.add(5, 2, height, 42)
radiobutton1.text = " 男"
radiobutton2 = worksheet.radiobuttons.add(5, 3, height, 42)
radiobutton2.text = " 女"
# 将另一个工作表的数据范围分配给组合框
datasheet = workbook.worksheets[1]
comboboxshape = worksheet.comboboxes.addcombobox(7, 2, 30, 100)
comboboxshape.listfillrange = datasheet.range["a1:a7"]
comboboxshape.selectedindex = 1
# 在工作表上添加复选框
checkbox = worksheet.checkboxes.addcheckbox(9, 2, height, 42)
checkbox.checkstate = checkstate.checked
checkbox.text = "唱歌"
checkbox = worksheet.checkboxes.addcheckbox(9, 3, height, 42)
checkbox.checkstate = checkstate.checked
checkbox.text = "跳舞"
checkbox = worksheet.checkboxes.addcheckbox(9, 4, height, 42)
checkbox.checkstate = checkstate.checked
checkbox.text = "运动"
checkbox = worksheet.checkboxes.addcheckbox(9, 5, height, 42)
checkbox.checkstate = checkstate.checked
checkbox.text = "乐器"
# 将修改后的工作簿保存为新文件
workbook.savetofile("添加内容控件.xlsx", excelversion.version2016)
# 清理并释放工作簿对象
workbook.dispose()
python 编辑 excel 文档中的内容控件
spire.xls for python 也可以修改 excel 文档中已有的内容控件的属性,比如修改文本框的内容、重设下拉框的选中项、不显示某个内容控件等等。以下是详细步骤:
- 创建 workbook 类的对象。
- 使用 workbook.loadfromfile() 方法加载一个 excel 文档。
- 使用 workbook.worksheets[] 属性获取所需的工作表。
- 通过 worksheet.textboxes[].text 属性修改文本框的显示内容。
- 通过 worksheet.textboxes[].visible 属性来设置是否显示当前文本框。
- 通过 worksheet.radiobuttons[].checkstate 属性设置是否选中当前单选按钮。
- 使用 worksheet.comboboxes[].selectedindex 属性来设置组合框的选中项。
- 使用 worksheet.checkboxes[].checkstate 属性来设置是否选中当前复选框。
- 使用 workbook.savetofile() 方法保存结果文件。
- python
from spire.xls.common import *
from spire.xls import *
# 创建一个workbook对象
workbook = workbook()
# 从文件加载excel数据
workbook.loadfromfile("data/示例02.xlsx")
# 获取第一个工作表
worksheet = workbook.worksheets[0]
# 设置第一个文本框的文本内容为"张三"
worksheet.textboxes[0].text = "张三"
# 设置第二个文本框的文本内容为"zhangsan @163.com"
worksheet.textboxes[1].text = "zhangsan @163.com"
# 隐藏第四个文本框
worksheet.textboxes[3].visible = false
# 将第一个单选按钮设为选中状态
worksheet.radiobuttons[0].checkstate = checkstate.checked
# 设置第一个下拉框的选中项索引为0(即第一个选项)
worksheet.comboboxes[0].selectedindex = 0
# 将第一个复选框设为选中状态
worksheet.checkboxes[0].checkstate = checkstate.checked
# 将第三个复选框设为未选中状态
worksheet.checkboxes[2].checkstate = checkstate.unchecked
# 将修改后的工作簿保存为新文件
workbook.savetofile("编辑内容控件.xlsx", excelversion.version2016)
# 清理并释放工作簿对象
workbook.dispose()
申请临时 license
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用javascript。获取有效期 30 天的临时许可证。