import winsound
import xlwt
import pyodbc
import tkinter as tk
import datetime
window = tk.Tk()
window.title('Down information')
window.geometry('300x300')
e = tk.Entry(window, show=None)
e.pack()
def write_excel(d):
style = xlwt.XFStyle()
font = xlwt.Font()
font.color_index = 4
font.name = 'Times New Roman'
style.font = font
style.num_format_str = 'm/d/yyyy h:mm'
f = xlwt.Workbook()
sheet1 = f.add_sheet('information', cell_overwrite_ok=True)
row0 = ["model_no","model_desc", "Model_serno", "part_no", "part_serno", "part_desc", "dtinput", "mfg_date"]
# 写第一行
for i in range(0, len(row0)):
sheet1.write(0, i, row0[i], style)
# 从第二行开始写从数据库里面捞出来的数据
for i in range(0, len(d)):
for m in range(0, len(d[i])):
if type(d[i][m])==datetime.datetime:
sheet1.write(i + 1, m, d[i][m], style)
else:
sheet1.write(i + 1, m, d[i][m], style)
f.save('C:/test/' + tt + '.xls')
global Mes1
Mes1 = None
global w
w = None
def insert_point():
dis('click')
global tt
tt = e.get()
if e.get() == '':
dis('input is null')
show_eff(False)
else:
conn = pyodbc.connect(driver='SQL Server Native Client 11.0', server="111",
user="ddq", password="lddxx", database="pddd")
cur = conn.cursor()
dis('check basedate ok')
cur.execute(
#"select * from v_customer_require_01 where Model_serno in (select value from ffSerialNumber where unitid in ( (select id from ffUnit where ProductionOrderID in ( select id from ffProductionOrder where ProductionOrderNumber= ? ))))order by Model_serno ,part_no ",
"select * from v_customer_require WHERE Model_serno IN (SELECT Value FROM ffSerialNumber WHERE UnitID IN (SELECT ID FROM ffUnit WHERE ProductionOrderID IN (SELECT ID FROM ffProductionOrder WHERE ProductionOrderNumber= ? ) ))order by Model_serno ,part_no ",
e.get())
data = cur.fetchall()
if len(data) != 0:
t = []
d = []
for i in range(len(data)):
t.append(data[i][0])
t.append(data[i][1])
t.append(data[i][2])
t.append(data[i][3])
t.append(data[i][4])
t.append(data[i][5])
t.append(data[i][6])
t.append(data[i][7])
d.append(t)
t = []
write_excel(d)
cur.close()
conn.close()
dis('ok.next')
show_eff(True)
else:
dis('input search is null')
show_eff(False)
cur.close()
conn.close()
def show_eff(e):
global Mes1
if Mes1 is None:
Mes1 = tk.Message(text='OK' if e else 'Fail', width=60)
Mes1.pack()
else:
Mes1.pack_forget()
Mes1 = tk.Message(text='OK' if e else 'Fail', width=60)
Mes1.pack()
if e == False:
winsound.Beep(900, 1000)
def windowset():
b1 = tk.Button(window, text='insert point', width=15,
height=2, command=insert_point)
b1.pack()
dis('begin')
window.mainloop()
def dis(a):
global w
if w is None:
w = tk.Label(
background="blue",
borderwidth=10,
justify="left",
foreground="white",
underline=4,
anchor="ne",
compound="bottom"
)
w['text'] = a
w.pack()
else:
w.pack_forget()
w = tk.Label(
background="blue",
borderwidth=10,
justify="left",
foreground="white",
underline=4,
anchor="ne",
compound="bottom"
)
w['text'] = a
w.pack()
windowset()
从数据库里面获得资料再整理到本地文件
最新推荐文章于 2024-08-14 10:02:30 发布