使用python生成oracle数据报表
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,#!/usr/bin/env python#coding:utf-8# cx_Oracle 用于访问oracle和导出数据import cx_Oracle# xlsxwriter 用于生成xlsx文件
千家信息网最后更新 2026年10月31日使用python生成oracle数据报表
#!/usr/bin/env python#coding:utf-8# cx_Oracle 用于访问oracle和导出数据import cx_Oracle# xlsxwriter 用于生成xlsx文件import xlsxwriterimport timeimport sys# 导入邮件模块from email.mime.text import MIMETextfrom email.mime.multipart import MIMEMultipartimport smtplib reload(sys)sys.setsys.setdefaultencodingdefaultencoding("gbk") #修改默认编码为"gbk",解决中文编码问题 不进行设置会出现 UnicodeDecodeError: 'ascii' codec can't decode byte 0xa1 in position 36: ordinal not in range(128) con = cx_Oracle.connect("comm/12345678@orcl")cursor = con.cursor() #定义SQL脚本 由于脚本包含中文,使用decode('utf-8').encode('gbk') 对其进行转换sql ='''select count 收费金额, locate 分中心from business'''.decode('utf-8').encode('gbk') query1 = cursor.execute(sql) #执行查询 title = [i[0] for i in query1.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()print time.ctime()data = cursor.fetchall()print time.ctime()worksheet.write_row(0, 0, title)for row, row_date in enumerate(data): worksheet.write_row(row+1, 0, row_date)print time.ctime()cursor.close()con.close()workbook.close() #以下代码实现发送邮件 msg = MIMEMultipart() #定义附件名 att1_name="业务数据".decode('utf-8').encode('gbk') + date_now + '.xlsx' #读入附件,report_name att1 = MIMEText(open(report_name, 'rb').read(), 'base64', 'gb2312')att1["Content-Type"] = 'application/octet-stream'att1["Content-Disposition"] = 'p_w_upload; filename=%s' % att1_name.encode('gbk')msg.attach(att1) msg['to'] = 'boss@126.com'msg['from'] = 'report@126.com'msg['subject'] = "每周业务数据".decode('utf-8').encode('gbk')try: server = smtplib.SMTP() server.connect('mail.126.com') server.login('report@126.com','12345678')# server.sendmail(msg['from'], msg['to'],msg.as_string()) server.quit() print 'successful.'except Exception, e: print str(e)
数据
业务
生成
文件
编码
脚本
邮件
附件
中文
查询
报表
代码
分中心
文件名
格式
模块
统计报表
路径
金额
问题
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技会
互联网科技视频
朗涯互联网科技
宜安科技 互联网金融
菲比寻常互联网科技
央行互联网金融科技公司
互联网科技教育视频
来此购互联网科技有限公司
搜狐科技互联网
呼和浩特新华互联网科技学院
黑科技 体验场景 互联网大会
上海钢联属于互联网科技股吗
工业互联网科技创业
福建互联网展示科技馆设计
吉林省码上互联网科技电话
中国新注册互联网科技
科技信息时代互联网发展
广西泛欧互联网科技有限公司
互联网科技创业计划的风险分析
中国主要互联网科技公司
互联网黑科技
互联网和科技创新
上海互联网科技有限公司
深圳互联网络科技有限公司
科技大学互联网专业好不好
卫星互联网科技股票
21世纪互联网科技成就
江苏互联网智能科技软件
互联网科技数字货币
平安好医生打造互联网科技医疗