# 打开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.label1 = ttk.Label(self.container, text="PEGA-料号:") self.label1.grid(row=0, column=0, padx=5, pady=5) self.material_name = tk.ttk.Combobox(self.container, values=[]) self.material_name.grid(row=0, column=1, padx=5, pady=5)修改這段代碼中將打開的excel中獲取工作表名為數據中第一列從第2行内容開始為一個列表寫入下拉輸入框中
时间: 2024-03-09 20:47:29 浏览: 67
Read data from the Excel spreadsheet.zip_Spreadsheet::Read_excel
可以尝试这样修改代码:
```
# 打开Excel文件并获取工作表
self.wb = openpyxl.load_workbook(r"C:\Users\bing3_chen\Desktop\1.xlsx")
self.record_sheet = self.wb["記錄"]
self.data_sheet = self.wb["數據"]
# 从工作表中获取数据并写入下拉框中
data_list = []
for row in range(2, self.data_sheet.max_row + 1):
cell_value = self.data_sheet.cell(row=row, column=1).value
if cell_value:
data_list.append(cell_value)
self.material_name = ttk.Combobox(self.container, values=data_list)
self.material_name.grid(row=0, column=1, padx=5, pady=5)
# 创建标签
self.label1 = ttk.Label(self.container, text="PEGA-料号:")
self.label1.grid(row=0, column=0, padx=5, pady=5)
```
这段代码的思路是先从工作表中获取第一列从第2行开始的所有非空单元格的值,存入一个列表中。然后创建一个下拉框控件,将这个列表作为下拉框的值,最后将下拉框控件和标签控件添加到界面上。注意要使用`ttk.Combobox`而不是`tk.ttk.Combobox`,另外要导入`ttk`模块。
阅读全文