def save_to_excel(self): # 检查是否有数据 if not self.textbox.get("1.0", "end").strip(): messagebox.showwarning("警告", "文本框中没有数据!") return # 检查是否有下拉框数据 for widget in self.textbox.winfo_children(): if isinstance(widget, tk.ttk.Combobox) and not widget.get().strip(): messagebox.showwarning("警告", "下拉框中没有数据!") return # 获取文本框中的内容 text = self.textbox.get("1.0", tk.END) # 获取下拉输入框中的内容 combobox_values = [] for child in self.textbox.winfo_children(): if isinstance(child, tk.ttk.Combobox): combobox_values.append(child.get()) filename = r"D:\點檢系統存放資料夾\點檢明細\1.xlsx" workbook = openpyxl.load_workbook(filename) sheet = workbook.active # 获取工作表的最后一行 last_row = sheet.max_row # 将文本框中的内容按行写入工作表 for i, line in enumerate(text.split("\n")): if line.strip() != "": sheet.cell(row=last_row + i + 1, column=1, value=line.strip()) # 将下拉输入框中的内容按行写入工作表 for i, value in enumerate(combobox_values): sheet.cell(row=last_row + i + 2, column=2, value=value) # 保存工作簿 workbook.save(filename)修改這個代碼將打開工作表后先檢查表中的列明是否存在,不存在就寫入如:點檢内容,點擊狀態等
时间: 2024-01-01 08:03:27 浏览: 27
VB.password.TextBox.control.programming.model.rar_VB textbox
你可以在打开工作表后,使用以下代码来检查是否存在某列名,如果不存在就在第一行写入该列名:
```
# 检查是否存在某列名
column_name = "點檢内容"
if column_name not in [cell.value for cell in sheet[1]]:
# 如果不存在,写入列名
sheet.cell(row=1, column=len(sheet[1]) + 1, value=column_name)
```
你可以将该代码放在打开工作表之后,写入数据之前的位置。另外,你需要在代码中修改列名为你想要检查和写入的列名。
阅读全文