在 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 天的临时许可证。