python - 如何从 tkinter 中的 excel 值中下拉?

标签 python excel tkinter combobox dropdown

<分区>

from openpyxl import load_workbook

wb = load_workbook(filename=r'C:\Users\Hp\Desktop\Test data.xlsx' )

ws = wb['Sheet1']

range=ws['B2':'B10']

for cell in range:

    for x in cell:

        y=x.value

        print(y)

win=Tk()

clicked=StringVar()

combodata=ttk.Combobox(win, width=100,state='readonly')

combodata['values']=[(y)]

combodata.pack(pady=20)

win.mainloop()

我已经准备好了这段代码。这会打印列中的所有值,但是当涉及到 tkinter-dropdown 时,它只提供所提供范围内最后一个值的选项,即仅 B10。你们中的任何人都可以根据我的需要修改此代码吗?我在列中有超过 1000 个值。 提前致谢。

最佳答案

创建一个空列表,然后将每个值附加到列中。另外,请确保您不使用保留关键字作为变量。

代码:

from openpyxl import load_workbook
from tkinter import *
import tkinter.ttk as ttk

# Load the xlsx file, then store the value of each column in the "elements" list
wb = load_workbook(filename=r"C:\Users\Hp\Desktop\Test data.xlsx")
ws = wb['Sheet1']
xlsx_range = ws['B2':'B10']
elements = []

for cell in xlsx_range:
    for x in cell:
        y = x.value
        elements.append(y)
        print(y)


# Tkinter stuff
win = Tk()
clicked = StringVar()

combodata = ttk.Combobox(win, width=100,state='readonly', values=elements)
combodata.pack(pady=20)

win.mainloop()

关于python - 如何从 tkinter 中的 excel 值中下拉?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67302630/

相关文章:

python - 从失败的步骤暂停和恢复 Python 脚本

python - 在我的简单 Google App Engine 测试中触发错误

excel - 在ms-project中按时间间隔执行宏

c++ - 将图片从excel复制到剪贴板->在程序中输出->得到平滑的图片。失败在哪里?

vba - 防止用户停止宏(Excel VBA)

python - 如何在 Python 的 lambda 函数中赋值?

python - Python 的 pickle 是否以 r+b 模式工作?

python-tk 有未满足的依赖关系

python - 使用 python tkinter 将键单击绑定(bind)到树中的选定项目

python - Tkinter 侧边栏