Django+python实现网页数据的excel导出

一直都想做一个网页的excel导出功能,最近抽时间研究了下,使用urllib2与BeautifulSoup及xlwt模块实现

    urllib2这个模块之前有用过,关于BeautifulSoup模块,可参看http://www.bkjia.com/Pythonjc/992499.html  ,介绍的比较详细。

    如下是部分视图代码:

    首先使用urlopen解析网页数据

    

1
urlfile = urllib2.urlopen('要解析的url地址')<br>html = urlfile.read()

  创建BeautifulSoup对象 

1
soup = BeautifulSoup(html)

 以取表格数据为例,使用findAll取所有tag name='<td>'的数据,并将其内容加到列表中。

1
2
3
result=[]
for line in soup.findAll('td'):
    result.append(line.string)

 接下来就是使用xlwt模块生成excel的实现

   创建excel文件

1
2
workbook = xlwt.Workbook(encoding = 'utf8')
worksheet = workbook.add_sheet('My Worksheet')

 向excel文件插入数据

1
2
for tag in range(0,8):
    worksheet.write(0, tag, label = result[tag])

将结果返回到网页,即可在网页生成excel

1
2
3
4
response = HttpResponse(content_type='application/msexcel')
response['Content-Disposition'= 'attachment; filename=example.xls'
workbook.save(response)
return response
原文地址:https://www.cnblogs.com/crystaltu/p/9228429.html