# 打开Excel文件 self.wb = openpyxl.load_workbook(r"C:\Users\bing3_chen\Desktop\1.xlsx") self.record_sheet = self.wb["記錄"] self.data_sheet = self.wb["數據"]self.material_name11.get() self.label14 = ttk.Label(self.container_top, text="品名:") self.label14.grid(row=5, column=0, padx=5, pady=5) self.material_qty14 = ttk.Combobox(self.container_top, values=[]) self.material_qty14.grid(row=5, column=1, padx=5, pady=5)在這段代碼中根據self.material_name11.get()獲取的内容去excel表名為數據的表中從第一列匹配到相應數據的第5列的内容輸入到下拉輸入框中
时间: 2024-03-10 15:47:05 浏览: 117
您的问题是如何在Python中根据获取的内容从Excel表格中匹配相应的数据并将其输入到下拉输入框中。
您可以使用openpyxl库来读取Excel文件中的数据。首先,您需要使用load_workbook()函数打开Excel文件,然后获取对应的工作表,如下所示:
```
import openpyxl
# 打开Excel文件
wb = openpyxl.load_workbook(r"C:\Users\bing3_chen\Desktop\1.xlsx")
sheet = wb["數據"]
```
接下来,您可以使用sheet.iter_rows()函数遍历工作表的每一行,并使用row[0].value获取每一行的第一列的值,然后将其添加到一个列表中,如下所示:
```
# 获取第一列的所有值
material_names = []
for row in sheet.iter_rows(min_row=1, max_row=sheet.max_row, min_col=1, max_col=1):
material_name = row[0].value
material_names.append(material_name)
```
接下来,您可以使用if语句判断获取的内容是否在列表中,如果存在则使用sheet.cell()函数获取相应的单元格的值,并将其添加到下拉输入框中,如下所示:
```
# 根据获取的内容匹配相应的数据并输入到下拉输入框中
if self.material_name11.get() in material_names:
for row in sheet.iter_rows(min_row=1, max_row=sheet.max_row, min_col=1, max_col=sheet.max_column):
if row[0].value == self.material_name11.get():
material_qty = row[4].value
self.material_qty14['values'] = [material_qty]
```
注意,这里使用了self.material_qty14['values']来设置下拉输入框的值,因为它是一个ttk.Combobox对象。
阅读全文