python3.12 创建1个选择excel文件的 和1个下拉框,下拉框的数据来源于选择的excel文件中的所有sheet页,需要获取选择后的sheet页名称,以及显示结果,显示结果可以被复制
时间: 2024-04-21 13:22:29 浏览: 146
要实现您的需求,您可以使用 `openpyxl` 库来读取 Excel 文件,并使用 `tkinter` 库创建界面。
首先,确保您已经安装了 `openpyxl` 和 `tkinter`。可以使用以下命令来安装它们:
```bash
pip install openpyxl
```
然后,您可以使用以下代码创建一个选择 Excel 文件的按钮和一个下拉框,下拉框的选项来自所选择的 Excel 文件中的所有 sheet 页。当选择 sheet 页后,将显示所选 sheet 页的名称,并可以复制到剪贴板。
```python
import tkinter as tk
from tkinter import filedialog
from openpyxl import load_workbook
import tkinter.messagebox as messagebox
def select_excel_file():
file_path = filedialog.askopenfilename(filetypes=[("Excel Files", "*.xlsx")])
if file_path:
entry_excel_file.delete(0, tk.END)
entry_excel_file.insert(tk.END, file_path)
# 清空下拉框选项
dropdown_sheet["values"] = []
# 读取 Excel 文件中的所有 sheet 页名称
workbook = load_workbook(filename=file_path)
sheet_names = workbook.sheetnames
# 更新下拉框选项
dropdown_sheet["values"] = sheet_names
def copy_sheet_name():
selected_sheet = dropdown_sheet.get()
if selected_sheet:
window.clipboard_clear()
window.clipboard_append(selected_sheet)
messagebox.showinfo("提示", "Sheet页名称已复制到剪贴板")
window = tk.Tk()
# 创建选择 Excel 文件按钮
button_select_excel_file = tk.Button(window, text="选择Excel文件", command=select_excel_file)
button_select_excel_file.pack()
# 创建输入框和标签
label_excel_file = tk.Label(window, text="Excel文件路径:")
label_excel_file.pack()
entry_excel_file = tk.Entry(window)
entry_excel_file.pack()
# 创建下拉框和标签
label_sheet = tk.Label(window, text="请选择Sheet页:")
label_sheet.pack()
dropdown_sheet = tk.ttk.Combobox(window)
dropdown_sheet.pack()
# 创建复制按钮
button_copy = tk.Button(window, text="复制Sheet页名称", command=copy_sheet_name)
button_copy.pack()
window.mainloop()
```
在上述代码中,我们创建了一个名为 `button_select_excel_file` 的按钮,用于选择 Excel 文件。当点击按钮后,将弹出文件选择对话框,选择 Excel 文件后,将文件路径插入到 `entry_excel_file` 输入框中,并将所选文件的 sheet 页名称填充到下拉框 `dropdown_sheet` 中。
用户可以选择 sheet 页后,点击 "复制Sheet页名称" 按钮,将所选 sheet 页的名称复制到剪贴板,并弹出提示框显示已复制。
希望这能满足您的需求。如果您还有其他问题,请随时提问。
阅读全文