python通过xlwt模块直接在网页上生成excel文件并下载
urls:
from django.conf.urls import url, include
from . import views urlpatterns = [
...
url(r'^domains/_export_dns.html', views.export_dns, name='export_dns'),
...
]
view:
import xlrd, xlwt def set_style(name, height, bold=False):
"""
excel样式
:param name: 字体名
:param height: 调度
:param bold: 边框
:return:
"""
style = xlwt.XFStyle() # 初始化样式
font = xlwt.Font() # 为样式创建字体
font.name = name # 'Times New Roman'
font.bold = bold
font.color_index = 000
font.height = height
style.font = font # 设置单元格边框
# borders= xlwt.Borders()
# borders.left= 6
# borders.right= 6
# borders.top= 6
# borders.bottom= 6
# style.borders = borders # 设置单元格背景颜色
# pattern = xlwt.Pattern()
# 设置其模式为实型
# pattern.pattern = pattern.SOLID_PATTERN
# 设置单元格背景颜色
# pattern.pattern_fore_colour = 0x00
# style.pattern = pattern return style @login_required
def export_dns(req):
"""
导出DNS解析记录
:param req:
:return:
""" if req.method == 'GET':
data = req.GET.get('data')
data = json.loads(data) zone_tag_obj = models.ZoneTag.objects.get(zone_name=data['zone'])
record_obj_list = zone_tag_obj.ZoneTag_Record.filter( ~Q(type='SOA') ) response = HttpResponse(content_type='application/ms-excel')
response['Content-Disposition'] = 'attachment; filename="%s.xls"' %(data['zone']) book = xlwt.Workbook(encoding='utf-8')
sheet = book.add_sheet('Sheet1', cell_overwrite_ok=True)
row0 = ['主机记录', '记录类型', '解析线路', '记录值', 'MX优先级', 'TTL', '状态', '备注']
# 设置列宽
sheet.col(0).width = 6000
sheet.col(1).width = 3000
sheet.col(2).width = 3000
sheet.col(3).width = 6000
sheet.col(4).width = 3000
sheet.col(5).width = 3000
sheet.col(6).width = 3000
sheet.col(7).width = 12000
for i in range(0, len(row0)):
sheet.write_merge(0, 0, i, i, row0[i], set_style('Times New Roman', 220, True)) for k, v in enumerate(record_obj_list, start=1):
sheet.write(k, 0, v.host)
sheet.write(k, 1, v.type )
sheet.write(k, 2, v.resolution_line )
sheet.write(k, 3, v.data )
sheet.write(k, 4, v.mx_priority )
sheet.write(k, 5, v.ttl)
sheet.write(k, 6, v.status)
sheet.write(k, 7, v.comment ) book.save(response) return response
elif req.method == 'POST':
msg = {'status': 200}
return HttpResponse(json.dumps(msg))
js:
function ExportDnsRecordACK(){
// 确认导出DNS解析记录
var _export_dns_record_type = $("select[name=export_dns_record_type]")[0].value.trim();
var _zone = $("#ExportDnsRecordModalLabel h4").attr('domain')
var __data = {'data': _export_dns_record_type, 'zone':_zone}
var url = "/domains/_export_dns.html?data=" + JSON.stringify(__data);
$.ajax({
url: "/domains/_export_dns.html",
type: "POST", //请求类型
data: {},
//async : false,
dataType: "json",
//beforeSend:function(XMLHttpRequest){
// // 请求前执行
//},
success: function (response, status, request) {
//当向服务端发起的请求执行成功完成后,自动调用
if(request['status'] == 200){
$('#ExportDnsRecordModalLabel').modal('hide');
window.location.href = url; //下载文件
}
},
error: function () {
//当请求错误之后,自动调用
}
});
}
$(document).ready(function(){
// 确认 导出DNS解析记录
$(document).on("click", 'button[name=_export_dns_record_ok]', ExportDnsRecordACK);
}
python通过xlwt模块直接在网页上生成excel文件并下载的更多相关文章
- Python:将爬取的网页数据写入Excel文件中
Python:将爬取的网页数据写入Excel文件中 通过网络爬虫爬取信息后,我们一般是将内容存入txt文件或者数据库中,也可以写入Excel文件中,这里介绍关于使用Excel文件保存爬取到的网页数据的 ...
- 使用python在WEB页面上生成EXCEL文件
来自:http://blog.sina.com.cn/s/blog_5d18f85f0101bxo7.html 近日写的一个程序需要在WEB服务器上生成EXCEL文件供用户下载,研究了一下找到了以下比 ...
- python xlwt模块生成excel文件并写入数据 xlrd读取数据
python中一般使用 xlwt (excel write)来生成Excel文件(可以控制单元格格式),用 xlrd 来读取Excel文件,用xlrd读取excel是不能对其进行操作的. 1.xlrd ...
- Flash文件在asp页面无法播放,网页上面的Flash文件在火狐浏览器不播放
第一个问题:Flash文件放到asp页面以后无法播放. 解决方法:用浏览器打开页面->F12,选择Network,如下图: 然后刷新页面,如下图: 点击左侧状态是404的文件,如图: 可以发现F ...
- Django框架(上传Excel文件并读取)
博主今天整理下Django框架中上传Excel文件并读取 博主是要在管理平台中新增用例的维护功能,想着通过上传Excel文件来展示用例,下面是项目的路径图: 首先先建数据库模型 model.py 可以 ...
- 如何禁止 Mac OS X 在外接设备上生成 .DS_Store 文件?以及如何批量删除 .DS_Store 文件?
如何禁止 Mac OS X 在外接设备上生成 .DS_Store 文件?以及如何批量删除 .DS_Store 文件?原文链接:http://www.java2class.net/bbs/viewthr ...
- 通过javascript在网页端生成zip压缩包并下载
zip.js是什么 zip.js的github项目地址:http://gildas-lormeau.github.io/zip.js/ 通过zip.js封装一个能在网页端生成zip文件的插件, 直接在 ...
- ASP.NET Core 2.2 : 十六.扒一扒新的Endpoint路由方案 try.dot.net 的正确使用姿势 .Net NPOI 根据excel模板导出excel、直接生成excel .Net NPOI 上传excel文件、提交后台获取excel里的数据
ASP.NET Core 2.2 : 十六.扒一扒新的Endpoint路由方案 ASP.NET Core 从2.2版本开始,采用了一个新的名为Endpoint的路由方案,与原来的方案在使用上差别不 ...
- java上传excel文件及解析
java上传excel文件及解析 CreateTime--2018年3月5日16:25:14 Author:Marydon 一.准备工作 1.1 文件上传插件:swfupload: 1.2 文件上 ...
随机推荐
- 运用HTML5+CSS3和CSS滤镜做的精美的登录界面
原始出处http://chenjinfei.blog.51cto.com/2965201/774865 <!DOCTYPE HTML> <html> <head> ...
- Alpha冲刺3
前言 队名:拖鞋旅游队 组长博客:https://www.cnblogs.com/Sulumer/p/9971198.html 作业博客:https://edu.cnblogs.com/campus/ ...
- android 8.0 intent安装apk失败屏幕闪过
需要做两处设置: 1.android8.0要加一条权限: <uses-permission android:name="android.permission.REQUEST_INSTA ...
- 移动端开发rem单位
1.用js计算 <script> (function (doc, win) { var docEl = doc.documentElement, resizeEvt = 'orientat ...
- 使用scrapy ImagesPipeline爬取图片资源
这是一个使用scrapy的ImagesPipeline爬取下载图片的示例,生成的图片保存在爬虫的full文件夹里. scrapy startproject DoubanImgs cd DoubanIm ...
- JAVA按顺序播放多个wav音频
用Java按顺序播放多个音频部件,不是同时播放.代码如下: List<String> files = new ArrayList<String>(); files.add(&q ...
- centos6.5 vncserver
yum install tigervnc tigervnc-server -y vncserver 又叫tigervnc 2.配置 vncserver vim /etc/sysconfig/vncse ...
- HDU1548- A strange lift (BFS入门)
题目传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1548 A Strrange lift Time Limit: 2000/1000 MS (Java/ ...
- 【转载】 Pytorch中的学习率调整lr_scheduler,ReduceLROnPlateau
原文地址: https://blog.csdn.net/happyday_d/article/details/85267561 ------------------------------------ ...
- Java当中的JVM
Java当中JVM 01 在使用控制面板时的实质: Hello.java使用javac,然后变成为Hello.class通过运行java这个命令,在类加载器中(含有加载,验证,准备,解析,初始化,使用 ...