感谢:BBOOBBOOOOK
博主链接:https://blog.youkuaiyun.com/qq_40271663/article/details/97012814
1、创建excel文件
2、写入首行
3、写入列表中的数据
4、用户自行设置保存文件名称和位置
from tkinter import * # 导入窗口控件
import tkinter.filedialog
from tkinter import messagebox # 弹出提示框
from openpyxl import Workbook
treedata1=[['1', '名称', '山东省', '化工', '青海市', '青岛行政审批局', '00001', '2020.1.1', '3', '12', '111', '11', '12']]
def treesave():
try:
if treedata1: # 判断是否爬取到数据,是否需要保存excel文件
biaoti = [['序号', '企业名称', '生产经营场所地址', '行业类别', '所在地区', '发证机关', '许可证编号', '办结日期', '有效期限', 'COD年排放量', '氨氮年排放量', '二氧化硫年排放量', '氮氧化物年排放量']]
wb = Workbook()
wb1 = wb.create_sheet('index', 0)
wb1.title = '重点管理数据'
filename = tkinter.filedialog.asksaveasfilename(filetypes=[('xlsx', '*.xlsx')], initialdir='D:\\')
filename = filename + '.xls'
for row2 in range(len(biaoti)):
wb1.append(biaoti[row2])
for row in range(len(treedata1)):
wb1.append(treedata1[row])
wb.save(filename)
messagebox.showinfo("提示", "保存完毕~!!!")
else:
messagebox.showinfo("提示", '没有数据,不必保存')
except:
messagebox.showinfo("提示", '保存文件错误,请重试~!!')
root = Tk() # 创建窗口
root.title("这是一个窗口名称")
root.geometry("550x550+500+50") # 小写x代表乘号500x400为窗口大小,+0+0窗口显示位置
lb3 = LabelFrame(root, width=500, height=500, text='这是一个测试标题', padx=50, pady=50, foreground='red')
lb3.grid(row=1, column=1)
button4 = Button(lb3, text=" 点击这里测试 保存列表数据 ", command=treesave) # 创建按钮控件
button4.grid(row=5, column=4, sticky=W)
button5 = Button(lb3, text=" 退 出 ", command=root.quit) # 创建按钮控件
button5.grid(row=5, column=5,padx=20, pady=0, sticky=N)
root.mainloop() # 显示窗口 mainloop 消息循环