使用python生成oracle数据报表
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,#!/usr/bin/env python#coding:utf-8# cx_Oracle 用于访问oracle和导出数据import cx_Oracle# xlsxwriter 用于生成xlsx文件
千家信息网最后更新 2025年02月01日使用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安全错误
数据库的锁怎样保障安全
战地一服务器进不去
联通选号软件开发
枣庄dell服务器供货商
品牌家用服务器
连云港软件开发诚信服务
软件开发是做什么工作好
服务器防护盾是什么意思
鼎新票务管理系统服务器地址
厦门中越网络技术有限公司
台州一站式定制软件开发团队
软件开发费用摊销年份
软件开发过程中采用多种图形
魔兽8区阿拉希服务器
网络安全微信有害怎么办
上海仓库进出库管理软件开发商
提高数据库恢复效率的技术是
sql数据库同步更新到程序
数据库视频教学百度云盘
优惠软件开发
华清远见软件开发培训
dhcp服务器管理论文
漯河bim软件开发工程师
怎么访问服务器的d盘
数据库安装激活失败原因
工业控制网络技术的心得体会
软件开发过程材料包括哪些
中伟网络技术有限公司
ctf网络安全大赛测手速
达梦数据库如何删除所有表的数据
值得信任的软件开发外包