使用python生成oracle数据报表
发表于:2025-11-11 作者:千家信息网编辑
千家信息网最后更新 2025年11月11日,#!/usr/bin/env python#coding:utf-8# cx_Oracle 用于访问oracle和导出数据import cx_Oracle# xlsxwriter 用于生成xlsx文件
千家信息网最后更新 2025年11月11日使用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安全错误
数据库的锁怎样保障安全
怎么登录samba服务器
计算机网络技术课程诊改报告
远光软件开发部副总年薪
网络安全工程师考证报名费
预付20万软件开发费用
数据库完整性定义
长岛安卓软件开发公司有哪些
彩票自动购买软件开发公司
福建服务器光模块服务器
蔡甸专业的软件开发公司
软件开发既征既退
测厚仪软件开发
网络安全防护开展情况
数据库的脏读和幻读
斗罗大陆模组服务器怎样创造
隆回有软件开发公司吗
我的世界服务器多人生存java
数据库面向用户是
我眼中的网络技术办公作文
软件开发师的能力要求
网站手机软件开发
查询对象属于数据库
数据库原理及应用李楠楠课后题
excel服务器数据设置
外国运动软件开发公司
支持esxi的云服务器
excel数据库处理教程
山东有哪些少儿编程软件开发
服务器怎么设置开机自启软件
园林躲猫猫是跨服务器的吧