OpenPyXL:是否可以在Excel工作表中创建下拉菜单?

时间:2018-07-24 11:43:34

标签: python openpyxl

我正在尝试使用openpyxl将有效IP地址列表存储在单元格中。目前,数据只是放置在一个单元中,通常会溢出到其他单元中。使用以下代码:

# Regex to return a tidy list of ip addresses in that block
"""
    r = row to be checked
    s = source or destination columns
    iptc = ips to check
"""

def regex_ips(r, s):
    iptc = ['165.11.14.20', '166.22.24.0/24', '174.68.19.11', '165.211.20.0/23']
    if r is not None:
        if s is not None:
            iptc = str(sheet.cell(r, s).value)
            san = re.sub('\n', ', ', iptc)
            sheet_report.cell(r, 8).value = san

但是,我希望将这些IP地址放入一个下拉列表中,因为这样更容易阅读-所以我的问题是双重的,首先,这可以做到吗?因为我找不到关于它的任何信息,其次,是否有更好的方法来显示数据而不会溢出?

感谢您阅读

编辑:添加了一些示例地址和子网以反映列表中的内容。

2 个答案:

答案 0 :(得分:6)

如果您有更多的ips(10+),则更适合先将它们存储到excel中的某个列中,然后将其范围用作数据验证“来源”,也就是Formula1。

d

此处有更多信息:https://openpyxl.readthedocs.io/en/2.5/validation.html

答案 1 :(得分:2)

首先,您必须了解一些Excel功能。有一个名为data validation的文件,通常可以使用下拉菜单来限制数据输入。它可以使用值列表,单元格范围,数值等来限制数据。

了解数据验证之后,请查看library documentation如何使用此Excel功能。