使用 Python 3 和 tkinter 写一个表格处理客服端程序,GUI界面上有2个文本框2个按钮,按钮名称分别叫导入表格、处理表格,当点击导入表格按钮时,导入要处理的表格,将路径存储到文本框中。点击处理表格按钮时,获取该表格第4个工作表到最后一个工作表中的数据,将获取的每一个工作表中的B4到倒数第2行,C4到倒数第2行的数据依次填入该表格的第3个工作表的B4到最后一行,C4到最后一行中,处理完成后,在第二个文本框中显示结果。
时间: 2024-02-12 18:08:28 浏览: 41
好的,这里是根据您的要求修改后的代码:
```python
import tkinter as tk
from tkinter import filedialog
from openpyxl import load_workbook
root = tk.Tk()
root.title("表格处理客户端程序")
root.geometry("600x200")
# 文本框1,用于显示选择的文件路径
text_box1 = tk.Entry(root, width=50)
text_box1.pack(pady=10)
# 文本框2,用于显示处理结果
text_box2 = tk.Text(root, width=70, height=10)
text_box2.pack(pady=10)
# 导入表格按钮
def import_file():
filename = filedialog.askopenfilename()
text_box1.delete(0, tk.END)
text_box1.insert(0, filename)
button1 = tk.Button(root, text="导入表格", command=import_file)
button1.pack(side="left", padx=10)
# 处理表格按钮
def process_file():
filename = text_box1.get()
wb = load_workbook(filename)
for ws_name in wb.sheetnames[3:]:
ws = wb[ws_name]
data = []
for row in ws.iter_rows(min_row=4, max_row=ws.max_row-1, min_col=2, max_col=3):
data.append([cell.value for cell in row])
new_ws = wb["Sheet3"]
for row in data:
new_ws.append(row)
new_filename = "new_" + filename.split("/")[-1]
wb.save(new_filename)
text_box2.insert(tk.END, f"处理完成,结果保存到 {new_filename} 中")
button2 = tk.Button(root, text="处理表格", command=process_file)
button2.pack(side="right", padx=10)
root.mainloop()
```
这份代码与之前的代码唯一的区别是,在`process_file()`函数中,将数据填入的目标工作表改为了该表格的第3个工作表(即名称为"Sheet3"的工作表)。
请注意,这份代码中的文件路径和文件名仅供参考,实际使用时需要根据具体情况进行修改。
阅读全文