我的工作经常要创建表格,然后添加数据,我觉得不如写个程序偷懒一下吧哈哈
from tkinter import *
from tkinter.messagebox import *
from openpyxl import Workbook
import time, os
class CreateTable:
def __init__(self):
self.root = Tk()
self.root.title('创建表格')
self.root.geometry('600x400+500+300')
# 设置文本域
self.text = Text(self.root, width=82, height=20)
self.text.grid(row=0, column=0, sticky=W, padx=10)
# 点击按钮,执行事件,即生成表格
Button(self.root, text='生成表格', command=self.create_table).grid(row=1, column=0, sticky=E, padx=10, pady=5)
self.root.mainloop()
def create_table(self):
# 创建表格
wb = Workbook()
sheet = wb.active
# 添加表头
sheet.append(['姓名', '性别'])
# 从文本域中获取内容
content = self.text.get('1.0', END).strip()
# 对文本进行处理,添加到表格中去
for i in content.split('\n'):
name = i.replace(',', ',').split(',')[1]
gender = i.replace(',', ',').split(',')[0]
sheet.append([name, gender])
# 获取当前的年月日时分 ,并作为文件夹的名字
date = time.strftime('%Y%m%d%H%M', time.localtime())
# 设置文件夹路径
save_path = r'C:\Users\admin\Desktop\%s' % date
# 判断文件夹是否存在,若不存在则创建一个
os.path.exists(save_path) or os.mkdir(save_path)
save_path = os.path.join(save_path, '精品_%s.xlsx' % date)
# 设置表格的保存路径
save_path = os.path.join(save_path, '精品_%s.xlsx' % date)
wb.save(save_path)
# 当表格创建完毕后,弹窗提示,并告知表格保存的路径
showinfo(title='执行结果', message='表格已保存在%s' % save_path)
if __name__ == '__main__':
CreateTable()
界面如下:
执行效果: