在 excel 中创建下拉列表是一种常见的操作,它可以使数据输入更加准确和便捷。下拉列表允许用户从预定义的选项中选择值,避免了手动输入可能导致错误或不一致的情况。本文将介绍如何使用 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 中基于单元格的值创建下拉列表
在 excel 工作表中创建下拉列表是通过数据验证功能实现的。使用 spire.xls for python,开发人员可以使用 cellrange.datavalidation.datarange 属性在单元格内创建下拉列表,并使用指定单元格范围的数据作为列表选项。
基于单元格值创建下拉列表的详细步骤如下:
- 创建 workbook 类的实例。
- 使用 workbook.loadfromfile() 方法加载 excel 文件。
- 通过 workbook.worksheets.get_item() 方法获取工作表。
- 通过 worksheet.range[] 属性获取需要添加下拉列表的单元格范围。
- 使用 cellrange.datavalidation.datarange 属性在该单元格范围内创建基于单元格的值的下拉列表。
- 使用 workbook.savetofile() 方法保存工作簿。
- python
from spire.xls import *
from spire.xls.common import *
# 创建 workbook 类的实例
workbook = workbook()
# 加载excel文件
workbook.loadfromfile("示例.xlsx")
# 获取第一个工作表
sheet = workbook.worksheets.get_item(0)
# 获取 b3:b7 单元格范围
cellrange = sheet.range["b3:b7"]
# 给该单元格范围添加数据验证,并将e3:e7 单元格范围的值设置为数据验证的可选值
cellrange.datavalidation.datarange = sheet.range["e3:e7"]
# 保存结果文件
workbook.savetofile("基于单元格的值的下拉列表.xlsx", fileformat.version2016)
workbook.dispose()
python 在 excel 中基于自定义列表创建下拉列表
spire.xls for python 还提供了 cellrange.datavalidation.values 属性,支持基于自定义列表的值在单元格中创建下拉列表。
基于自定义列表的值创建下拉列表的详细步骤如下:
- 创建 workbook 类的实例。
- 使用 workbook.loadfromfile() 方法加载 excel 文件。
- 通过 workbook.worksheets.get_item() 方法获取工作表。
- 通过 worksheet.range[] 属性获取需要添加下拉列表的单元格范围。
- 使用 cellrange.datavalidation.values 属性在该单元格范围内创建基于自定义列表的值的下拉列表。
- 使用 workbook.savetofile() 方法保存工作簿。
- python
from spire.xls import *
from spire.xls.common import *
# 创建 workbook 类的实例
workbook = workbook()
# 加载excel文件
workbook.loadfromfile("sample10.xlsx")
# 获取第一个工作表
sheet = workbook.worksheets.get_item(0)
# 获取 c3:c7 单元格范围
cellrange = sheet.range["c3:c7"]
# 给该单元格范围添加数据验证,并将自定义列表中的值设置为数据验证的可选值
cellrange.datavalidation.values = ["软件工程师", "会计主管", "hr 经理", "销售主管", "市场专员"]
# 保存结果文件
workbook.savetofile("基于自定义列表的下拉列表.xlsx", fileformat.version2016)
workbook.dispose()
申请临时 license
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用javascript。获取有效期 30 天的临时许可证。