import openpyxl
import MySQLdb # 数据库
def daochu():
data = select("select * from cd_phone order by id desc limit 20") # 读取数据库
wb = openpyxl.Workbook()
ws = wb.create_sheet("Sheet")
# 写数据函数cell,cell中column和row至少为1
ws.cell(row=1, column=1, value='id')
ws.cell(row=1, column=2, value='手机号')
ws.cell(row=1, column=3, value='读取状态')
ws.cell(row=1, column=4, value='执行状态')
ws.cell(row=1, column=5, value='执行时间')
ws.cell(row=1, column=6, value='导入时间')
ws.cell(row=1, column=7, value='分组')
ws.cell(row=1, column=8, value='com')
for i,d in enumerate(data):
i+=2
ws.cell(row=i, column=1, value=d[0])
ws.cell(row=i, column=2, value=d[1])
ws.cell(row=i, column=3, value='未读取' if d[2] == 0 else '已读取')
ws.cell(row=i, column=4, value='失败' if d[3] == 3 else '未执行' if d[3] == 1 else '成功')
ws.cell(row=i, column=5, value='' if d[4] == None else time.strftime("%Y-%m-%d %H:%M:%S",time.gmtime(d[4])))
ws.cell(row=i, column=6, value='' if d[5] == None else time.strftime("%Y-%m-%d %H:%M:%S",time.gmtime(d[5])))
ws.cell(row=i, column=7, value=d[6])
ws.cell(row=i, column=8, value=d[7])
name = time.strftime("%Y%m%d%H%M%S")
wb.save('D://'+name+'.xls')
# 执行多条查询
def select(sql):
db = dbs()
cursor = db.cursor()
cursor.execute(sql)
datas = cursor.fetchall()
db.close()
return datas
python excel导出
于 2023-03-17 23:43:05 首次发布