利用python和tkinter写一个客服端,将表格中多个工作表的数据读取填写到汇总工作表中
时间: 2024-02-12 14:08:43 浏览: 136
汇总多个工作簿到一个工作表
好的,您可以参考以下步骤:
1. 导入所需模块
```python
import openpyxl
from tkinter import *
from tkinter.filedialog import askopenfilename
```
2. 创建GUI界面
```python
root = Tk()
root.title("Excel数据汇总工具")
# 创建一个Label用于显示选择的文件路径
filename_label = Label(root, text="请点击下方按钮选择要汇总的Excel文件")
filename_label.pack(pady=10)
# 创建一个Button用于选择Excel文件
def select_file():
filename = askopenfilename(filetypes=[("Excel文件", "*.xlsx;*.xls")])
filename_label.config(text="已选择文件:" + filename)
summarize_data(filename)
select_button = Button(root, text="选择文件", command=select_file)
select_button.pack(pady=10)
```
3. 编写数据汇总函数
```python
def summarize_data(filename):
# 打开Excel文件
wb = openpyxl.load_workbook(filename)
# 创建一个新的工作簿用于汇总数据
summary_wb = openpyxl.Workbook()
summary_ws = summary_wb.active
# 遍历所有工作表
for sheetname in wb.sheetnames:
sheet = wb[sheetname]
# 从第二行开始遍历每一行数据
for row in sheet.iter_rows(min_row=2, values_only=True):
# 将数据填写到汇总工作表中
summary_ws.append(row)
# 保存汇总数据到新的Excel文件
summary_filename = filename[:-5] + "_汇总.xlsx"
summary_wb.save(summary_filename)
# 显示保存成功提示
filename_label.config(text="已保存汇总数据到:" + summary_filename)
```
4. 运行程序
```python
root.mainloop()
```
这样,当用户选择Excel文件后,程序会自动将所有工作表中的数据读取并填写到汇总工作表中,最终保存到一个新的Excel文件中。
阅读全文