python导出数据到excel
1,SMTP发送带excel附件的邮件:
def sendMail(filename, addressee):
"""
:param content: 发送内容
:param sendStr: 收件人
:return: sendmail
"""
msg = MIMEMultipart('related')
msg["Subject"] = "表格导出"
# msg["From"] = "***@qq.com"
msg["To"] = addressee
thebody = MIMEText(u'正文', 'plain', 'utf-8')
msg.attach(thebody)
att = MIMEText(open(u'%s.xls' % filename, 'rb').read(), 'base64', 'GB2312')#附件
att['Content-Type'] = 'application/vnd.ms-excel'
att['Content-Disposition'] = 'attachment; filename ="%s.xls"' % filename #xlsx格式
# att = MIMEText(open(u'%s.xlsx' % filename, 'rb').read(), 'base64', 'utf-8')
# att['Content-Type'] = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
# att['Content-Disposition'] = 'attachment; filename ="%s.xlsx"' % filename
msg.attach(att) server = smtplib.SMTP_SSL("smtp.qq.com", 465)
server.login("***@qq.com", "***")#第二个参数为邮件配置密钥
server.sendmail("***@qq.com", addressee, msg.as_string())
server.quit()
2,生成excel发送邮件并下载到本地客户端:
#views.py
def export_to_excel(request):
data = [{'a': '','b':''},{'a':'','b':''}]
filename = 'export'
addressee = '***@***.com'
workbook = xlwt.Workbook()
sheet = workbook.add_sheet('sheet1', cell_overwrite_ok=True)
for i in range(0, len(data[0])):
sheet.write(0, i, data[0].keys()[i])
for row in range(1, len(data) + 1):
for col in range(0, len(data[0].items())):
sheet.write(row, col, u'%s' % data[row - 1].values()[col])
print data[0].keys()
workbook.save(r"%s.xls" % filename)
sendMail(filename, addressee)
sio = StringIO.StringIO() # StringIO用来作为字符串的缓存,有些接口和文件操作一致,代码可以同时当成文件操作或者StringIO操作。
workbook.save(sio)
sio.seek(0)
response = HttpResponse(sio.getvalue(),content_type='application/vnd.ms-excel')
response['Content-Disposition'] = 'attachment; filename=%s.xls' % filename #xlsx文件,出现拓展名的地方都要改为xlsx
#response = HttpResponse(sio.getvalue(), content_type='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet')
#response['Content-Disposition'] = 'attachment; filename=%s.xlsx' % filename response.write(sio.getvalue())
exist_file = os.path.exists(r"%s.xls" % filename)
if exist_file: #生成的文件会在项目文件里存留,所以在下载或者发送之后要删除
os.remove(r"%s.xls" % filename)
return response
python导出数据到excel的更多相关文章
- python 导出数据到excel 中,一个好用的导出数据到excel模块,XlsxWriter
最近公司有项目需要导出数据到excel,首先想到了,tablib,xlwt,xlrd,xlwings,win32com[还可以操作word],openpyxl,等模块但是 实际操作中tablib 写入 ...
- Python导出数据到Excel表格-NotImplementedError: formatting_info=True not yet implemented
在使用Python写入数据到Excel表格中时出现报错信息记录:“NotImplementedError: formatting_info=True not yet implemented” 报错分析 ...
- Python导出数据生成excel报表
#_*_coding:utf-8_*_ import MySQLdb import xlwt from datetime import datetime def get_data(sql): # 创建 ...
- 使用python脚本从数据库导出数据到excel
python从数据库导出数据到excel 最近需要从数据库里导出一些数据到excel,刚开始我是使用下面的命令 select * from xxx where xxx into outfile 'xx ...
- 1.ASP.NET MVC使用EPPlus,导出数据到Excel中
好久没写博客了,今天特地来更新一下,今天我们要学习的是如何导出数据到Excel文件中,这里我使用的是免费开源的Epplus组件. 源代码下载:https://github.com/caofangshe ...
- 导出数据到Excel --使用ExcelReport有感
先看图,这是几个月前用NPOI写的导出数据到Excel,用了上百行代码,而且难控制,导出来也比较难看 excel打开的效果 下面是我用ExcelReport类库导出到Excel的操作 1.首先引用Ex ...
- 使用Open xml 操作Excel系列之二--从data table导出数据到Excel
由于Excel中提供了透视表PivotTable,许多项目都使用它来作为数据分析报表. 在有些情况下,我们需要在Excel中设计好模板,包括数据源表,透视表等, 当数据导入到数据源表时,自动更新透视表 ...
- Dynamics CRM导出数据到Excel
原创地址:http://www.cnblogs.com/jfzhu/p/4276212.html 转载请注明出处 Pivot Table是微软BI的一个重要工具,所以这里讲一下Dynamics CRM ...
- MVC导出数据到EXCEL新方法:将视图或分部视图转换为HTML后再直接返回FileResult
导出EXCEL方法总结 MVC导出数据到EXCEL的方法有很多种,常见的是: 1.采用EXCEL COM组件来动态生成XLS文件并保存到服务器上,然后转到该文件存放路径即可: 优点:可设置丰富的EXC ...
随机推荐
- Scrum Meeting day 2
第二次会议,开发人员会议 . • 前端: 1. 登陆界面,login, sign up, 添加加载时的图片. 2. 主界面:采用类微信类型.应含有联系人.群聊.设置 3. ...
- RYU 灭龙战 first day
RYU 灭龙战 first day 前言 由于RYU翻译过来是龙的意思,此次主题就叫灭龙战吧 灵感来源 恶龙的三位真火-问题所在 参照了官方文档的基本操作 笔者以此执行 一个终端里 sudo mn - ...
- Manjaro Linux 没有声音
在Multimedia中的PulseAudio Volume Control中的设置可以解决
- VS2015 C#的单元测试
1.安装visual studio 2015过程 visual studio 会对windows系统兼容性有很高的要求,没有达到win7 sp1以上的就不给安装,贴一张官方的系统的要求吧. 很不幸的是 ...
- css3-文本新增属性
rgba:a是设透明度值 应用:background:rgb(255,255,255,0.5) color:rgb(255,255,255,0.5) border:1px solid rgb(255, ...
- C语言入门:05.scanf函数
一.变量的内存分析 1.字节和地址 为了更好地理解变量在内存中的存储细节,先来认识一下内存中的“字节”和“地址”. (1)内存以“字节为单位”
- java自定义注解学习(一)_demo小练习
自定义注解 现在大家开发过程中,经常会用到注解. 比如@Controller 等等,但是有时候也会碰到自定义注解,在开发中公司的记录日志就用到了自定义注解.身为渣渣猿还是有必要学习下自定义注解的. 这 ...
- 索引器 C#
概述 索引器允许类或结构的实例就像数组一样进行索引. 索引器类似于属性,不同之处在于它们的访问器采用参数. 在下面的示例中,定义了一个泛型类,并为其提供了简单的 get 和 set 访问器方法(作为分 ...
- XShell中文乱码问题解决
现象:XShell终端中输入中文显示乱码 原因:XShell终端的编码格式与服务器不同 解决:修改XShell终端的编码格式:菜单中点击,文件->属性->终端->编码,选择“UTF- ...
- Linux_Crontab命令
一.Crontab 字段名称 说明 范围 分钟 每小时中的第几分钟执行 0~59 小时 每日的第几小时执行 0~23 日期 每月的第几天执行 1~31 月历 每年的第几月执行 1~12 星期 每周的第 ...