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文件并下载的更多相关文章

  1. Python:将爬取的网页数据写入Excel文件中

    Python:将爬取的网页数据写入Excel文件中 通过网络爬虫爬取信息后,我们一般是将内容存入txt文件或者数据库中,也可以写入Excel文件中,这里介绍关于使用Excel文件保存爬取到的网页数据的 ...

  2. 使用python在WEB页面上生成EXCEL文件

    来自:http://blog.sina.com.cn/s/blog_5d18f85f0101bxo7.html 近日写的一个程序需要在WEB服务器上生成EXCEL文件供用户下载,研究了一下找到了以下比 ...

  3. python xlwt模块生成excel文件并写入数据 xlrd读取数据

    python中一般使用 xlwt (excel write)来生成Excel文件(可以控制单元格格式),用 xlrd 来读取Excel文件,用xlrd读取excel是不能对其进行操作的. 1.xlrd ...

  4. Flash文件在asp页面无法播放,网页上面的Flash文件在火狐浏览器不播放

    第一个问题:Flash文件放到asp页面以后无法播放. 解决方法:用浏览器打开页面->F12,选择Network,如下图: 然后刷新页面,如下图: 点击左侧状态是404的文件,如图: 可以发现F ...

  5. Django框架(上传Excel文件并读取)

    博主今天整理下Django框架中上传Excel文件并读取 博主是要在管理平台中新增用例的维护功能,想着通过上传Excel文件来展示用例,下面是项目的路径图: 首先先建数据库模型 model.py 可以 ...

  6. 如何禁止 Mac OS X 在外接设备上生成 .DS_Store 文件?以及如何批量删除 .DS_Store 文件?

    如何禁止 Mac OS X 在外接设备上生成 .DS_Store 文件?以及如何批量删除 .DS_Store 文件?原文链接:http://www.java2class.net/bbs/viewthr ...

  7. 通过javascript在网页端生成zip压缩包并下载

    zip.js是什么 zip.js的github项目地址:http://gildas-lormeau.github.io/zip.js/ 通过zip.js封装一个能在网页端生成zip文件的插件, 直接在 ...

  8. 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的路由方案,与原来的方案在使用上差别不 ...

  9. java上传excel文件及解析

      java上传excel文件及解析 CreateTime--2018年3月5日16:25:14 Author:Marydon 一.准备工作 1.1 文件上传插件:swfupload: 1.2 文件上 ...

随机推荐

  1. shell怎么判断两个文件内容是否相同

    #cat diff_two_file#/bin/sbinfile1=/mnt/mmc/test/aafile2=/mnt/mmc/test/bbdiff $file1 $file2 > /dev ...

  2. oracle插入数据问题

    这个是我的表结构:desc T_STUDENT;Name         Type         Nullable Default Comments ------------ ----------- ...

  3. webstorm安装流程

    第一步:双击安装目录 修改安装目录 尽量不要放在C盘 第二步: 把汉化包 直接复制文件到WebStorm安装目录中lib文件夹中即可,重新打开WebStorm就可以了

  4. Python Counter

    from collections import Counter print(Counter("宝宝今年特别喜欢王宝强")) # 计数 lst = ["jay", ...

  5. 1--Testng功能简介

    https://www.yiibai.com/testng/parameterized-test.html

  6. JAVA 线程Join

    join方法: 当某个线程要等待另一个线程执行结束后才能继续执行时,使用join方法. public class DinnerThread { public static void main(Stri ...

  7. codeforce 839A Arya and Bran(水题)

    Bran and his older sister Arya are from the same house. Bran like candies so much, so Arya is going ...

  8. 安卓 dex 通用脱壳技术研究(三)

    /*     此为DexHunter实现的主要功能,进行内存dump,将class_def_items中dump出classdef和extra部分 */ void* DumpClass(void *p ...

  9. useradd密码无效

    /********************************************************************** * useradd密码无效 * 说明: * 在测试Ubu ...

  10. flask的安装

    1.查看已安装的Flask版本 在 python 的交互模式中 : 1. import flask 没报错:已经安装了Flask,可以继续查看版本 报错:没安装Flask 2. flask.__ver ...