def load_excel(self, filename, menu_label, selected_label_text): self.la = menu_label self.workbook = xl.load_workbook(filename) self.sheet_names = sorted(self.workbook.sheetnames) # 按工作表名称从小到大排序 self.selected_label.config(text=selected_label_text) # 更新选中标签文本 data4=self.la if not data4.endswith('.xlsx'): data4 += '.xlsx' # 拼接完整的文件路径 filepath = os.path.join(r'\pcq-smt-ftp01\smt$\CQ SMT-單板測試課\2.生產組\點檢表\點檢歷史資料', data4) # 清空左侧面板 for widget in self.sheet_frame.winfo_children(): widget.destroy() # 清空右下側面板 for widget in self.unique_listbox.winfo_children(): widget.destroy() # 在右下側添加文本標簽 for i, sheet_name in enumerate(self.sheet_names): label = tk.Label(self.unique_listbox, text=sheet_name) label.grid(row=i // 5, column=i % 5, sticky="ew", padx=1, pady=1)在這段代碼中添加,打開filepath的文件從第3列篩選出當天日期,用生成的工作表名的標簽去比對filepath文件中的第9列出現的文本内容有沒有相同文本,如果有在在寫入標簽文本框的標簽後面寫上已點檢,請給出修改后的代碼
时间: 2024-02-18 17:03:34 浏览: 86
Read data from the Excel spreadsheet.zip_Spreadsheet::Read_excel
以下是修改后的代码:
```python
def load_excel(self, filename, menu_label, selected_label_text):
self.la = menu_label
self.workbook = xl.load_workbook(filename)
self.sheet_names = sorted(self.workbook.sheetnames) # 按工作表名称从小到大排序
self.selected_label.config(text=selected_label_text) # 更新选中标签文本
data4 = self.la
if not data4.endswith('.xlsx'):
data4 += '.xlsx'
# 拼接完整的文件路径
filepath = os.path.join(r'\pcq-smt-ftp01\smt$\CQ SMT-單板測試課\2.生產組\點檢表\點檢歷史資料', data4)
# 清空左侧面板
for widget in self.sheet_frame.winfo_children():
widget.destroy()
# 清空右下側面板
for widget in self.unique_listbox.winfo_children():
widget.destroy()
# 在右下側添加文本標簽
for i, sheet_name in enumerate(self.sheet_names):
label = tk.Label(self.unique_listbox, text=sheet_name)
# 打开文件并筛选当天日期
sheet = self.workbook[sheet_name]
today = datetime.datetime.now().strftime('%Y-%m-%d')
filtered_rows = []
for row in sheet.iter_rows(min_row=3):
if row[2].value == today:
filtered_rows.append(row)
# 比对文件中的第9列出现的文本内容并在标签后面添加文本
for row in filtered_rows:
if row[8].value == sheet_name:
label.config(text=f"{sheet_name} - 已點檢")
label.grid(row=i // 5, column=i % 5, sticky="ew", padx=1, pady=1)
```
阅读全文