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 文件上 ...
随机推荐
- set,pair容器使用方法
题目链接:http://codeforces.com/gym/100989/problem/D In this cafeteria, the N tables are all ordered in o ...
- 四则运算 来源:一位热心的网友 http://www.tqcto.com/article/software/336297.html
功能:实现真分数的四则运算 语言:Java 平台:JDK下的eclipse github地址:https://github.com/yeershao/hello-world/commit/9920a ...
- Java 内存监控命令简介(零)
一.Java性能监控与调优命令.工具简介 1.jps :查看当前运行的Java程序端口号,包括运行jps的程序端口号. 2.jinfo :查看Java进程的运行时信息. 3.jmap + MAT :通 ...
- wxPython的使用--类似画板的界面
# -*- coding: utf-8 -*-import wximport wx.lib.buttonsimport cPickleimport os class PaintWindow(wx.Wi ...
- http 请求头部解析
作者:知乎用户链接:https://www.zhihu.com/question/42696895/answer/109035792来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请 ...
- python列举django中间件的5个请求方法
process——request:请求进来时,权限认证. process——view:路由匹配之后,能够得到试图的试图函数. process——exceptions:异常是执行. process——t ...
- iOS原生和React-Native之间的交互1
今天,记录一下iOS原生和React-Native之间的交互.如果第一次接触最好先移步至 http://www.cnblogs.com/shaoting/p/6388502.html 先看一下怎么在i ...
- make clean,make distclean与make depend的区别
make clean仅仅是清除之前编译的可执行文件及配置文件. 而make distclean要清除所有生成的文件. Makefile 在符合GNU Makefiel惯例的Makefile中,包含了一 ...
- python 网络数据采集1
python3 网络数据采集1 第一部分: 一.可靠的网络连接: 使用库: python标准库: urllib python第三方库:BeautifulSoup 安装:pip3 install be ...
- 求割点 割边 Tarjan
附上一般讲得不错的博客 https://blog.csdn.net/lw277232240/article/details/73251092 https://www.cnblogs.com/colle ...