使用python编写一个带窗口的代码,窗口中有2个按钮:按钮1的作用是读取excel;按钮2的作用是处理读取的excel中第2列数据做求和,求和后的数据用窗口显示
时间: 2024-03-17 22:43:24 浏览: 92
好的,您可以参考下面的代码实现您的需求。需要先安装`openpyxl`库来读取Excel文件。
```python
import tkinter as tk
from tkinter import filedialog
from openpyxl import load_workbook
class ExcelSumGUI:
def __init__(self, master):
self.master = master
self.master.title("Excel求和")
self.master.geometry("300x100")
# 创建按钮1
self.btn_load = tk.Button(self.master, text="读取Excel", command=self.load_excel)
self.btn_load.pack(pady=10)
# 创建按钮2
self.btn_sum = tk.Button(self.master, text="求和", command=self.sum_data, state=tk.DISABLED)
self.btn_sum.pack(pady=10)
# 创建显示文本框
self.textbox = tk.Text(self.master, height=1)
self.textbox.pack(pady=10)
def load_excel(self):
# 打开文件选择对话框
file_path = filedialog.askopenfilename(filetypes=[('Excel文件', '*.xlsx')])
if file_path:
self.file_path = file_path
self.btn_sum.config(state=tk.NORMAL)
def sum_data(self):
# 加载Excel文件
wb = load_workbook(self.file_path)
ws = wb.active
# 计算第2列数据的和
col_data = [cell.value for cell in ws['B']]
sum_data = sum([x for x in col_data if isinstance(x, int)])
# 在文本框中显示结果
self.textbox.delete(1.0, tk.END)
self.textbox.insert(1.0, f"第2列数据的和为:{sum_data}")
if __name__ == "__main__":
root = tk.Tk()
app = ExcelSumGUI(root)
root.mainloop()
```
运行该代码,就可以看到一个带窗口的界面,包含两个按钮和一个文本框。点击“读取Excel”按钮,可以选择要处理的Excel文件,选择后“求和”按钮才会变为可用状态。点击“求和”按钮,就可以计算Excel表格中第2列数据的和,并在文本框中显示结果。
阅读全文