用Python的tkinter搭建一个GUI程序界面实现以下功能:1.将界面上测试时间、测试地点和测试人员的录入的信息一键写入名为测试统计的Excel的一个sheet中,该sheet页名字为测试统计;2.测试统计sheet页中,测试时间、测试地点和测试人员属于三列标题;3.每次新录入的数据记录在上次的录入数据的下一行,不会覆盖原有的内容
时间: 2024-03-20 21:41:13 浏览: 65
好的,我可以为你解答这个问题。首先,我们需要安装 openpyxl 库,这个库可以让我们使用 Python 操作 Excel 文件。你可以使用以下命令安装这个库:
```
pip install openpyxl
```
接下来,我们可以使用以下代码来实现你的需求:
```python
import openpyxl
from tkinter import *
class GUI:
def __init__(self, master):
self.master = master
master.title("测试统计")
# 测试时间输入框
self.lbl_time = Label(master, text="测试时间:")
self.lbl_time.grid(row=0, column=0)
self.ent_time = Entry(master)
self.ent_time.grid(row=0, column=1)
# 测试地点输入框
self.lbl_location = Label(master, text="测试地点:")
self.lbl_location.grid(row=1, column=0)
self.ent_location = Entry(master)
self.ent_location.grid(row=1, column=1)
# 测试人员输入框
self.lbl_person = Label(master, text="测试人员:")
self.lbl_person.grid(row=2, column=0)
self.ent_person = Entry(master)
self.ent_person.grid(row=2, column=1)
# 保存按钮
self.btn_save = Button(master, text="保存", command=self.save_to_excel)
self.btn_save.grid(row=3, column=1)
def save_to_excel(self):
# 打开或创建 Excel 文件
try:
workbook = openpyxl.load_workbook("测试统计.xlsx")
except FileNotFoundError:
workbook = openpyxl.Workbook()
# 选择或创建数据表
try:
sheet = workbook["测试统计"]
except KeyError:
sheet = workbook.create_sheet("测试统计")
# 写入数据
row = sheet.max_row + 1
sheet.cell(row=row, column=1, value=self.ent_time.get())
sheet.cell(row=row, column=2, value=self.ent_location.get())
sheet.cell(row=row, column=3, value=self.ent_person.get())
# 保存文件
workbook.save("测试统计.xlsx")
print("保存成功!")
root = Tk()
gui = GUI(root)
root.mainloop()
```
在这个代码中,我们创建了一个名为 `GUI` 的类,它继承了 Tkinter 库中的 `Frame` 类。在 `GUI` 类中,我们创建了三个输入框和一个保存按钮,当用户点击保存按钮时,我们会将输入框中的数据写入到 Excel 文件中。
具体来说,我们使用 openpyxl 库来读取和写入 Excel 文件。我们首先尝试打开名为 “测试统计.xlsx” 的文件,如果文件不存在,则会创建一个新的 Excel 文件。然后,我们选择或创建一个名为 “测试统计” 的表格,将输入框中的数据写入到该表格的下一行中。
最后,我们保存 Excel 文件,并在控制台中打印出 “保存成功!” 的消息。
需要注意的是,我们需要将上述代码保存为一个 Python 文件,例如 `gui.py`,然后在命令行中运行该文件,这样就可以打开 GUI 界面并进行测试统计了。
阅读全文