您好,欢迎访问三七文档
当前位置:首页 > 幼儿/小学教育 > 小学教育 > python导出excel格式的oracle数据报表(字段名和内容支持中文字符)
python导出oracleexcel报表(字段名和内容支持中文字符)1.需要预先安装两个python模块:cx_Oracle、xlsxwriter2.实现代码(环境是python2.7)#!/usr/bin/envpython#coding:utf-8importcx_Oracle#cx_Oracle用于访问oracle和导出数据importxlsxwriter#xlsxwriter用户生成xlsx文件importtimeimportsysfromemail.mime.textimportMIMEText#导入邮件模块fromemail.mime.multipartimportMIMEMultipartimportsmtplibreload(sys)sys.setdefaultencoding(gbk)con=cx_Oracle.connect(aaa/1234@orcl)cursor=con.cursor()#定义SQL脚本sql='''selecta.id工号,a.name姓名,b.performance绩效,b.month月份'''.decode('utf-8').encode('gbk')query1=cursor.execute(sql)title=[i[0]foriinquery1.description]date_now=time.strftime(%Y%m%d,time.localtime())#文件名及其路径report_name='/excel/'+业务数据.decode('utf-8').encode('gbk')+date_now+'.xlsx'#生成xlsx格式oracle查询统计报表workbook=xlsxwriter.Workbook(report_name,{'constant_memory':True})worksheet=workbook.add_worksheet()printtime.ctime()data=cursor.fetchall()printtime.ctime()worksheet.write_row(0,0,title)forrow,row_dateinenumerate(data):worksheet.write_row(row+1,0,row_date)printtime.ctime()cursor.close()con.close()workbook.close()#以下代码实现发送邮件msg=MIMEMultipart()#定义附件名att1_name=月度统计.decode('utf-8').encode('gbk')+date_now+'.xlsx'#读入附件,report_nameatt1=MIMEText(open(report_name,'rb').read(),'base64','gb2312')att1[Content-Type]='application/octet-stream'att1[Content-Disposition]='attachment;filename=%s'%att1_name.encode('gbk')msg.attach(att1)msg['to']='pymanager01@163.com'msg['from']='pytest01@163.com'msg['subject']=月度统计.decode('utf-8').encode('gbk')try:server=smtplib.SMTP()server.connect('mail.163.com')server.login('pytest01@163.com','123456')#邮箱账号密码server.sendmail(msg['from'],msg['to'],msg.as_string())server.quit()print'successful.'exceptException,e:printstr(e)
本文标题:python导出excel格式的oracle数据报表(字段名和内容支持中文字符)
链接地址:https://www.777doc.com/doc-2853898 .html