求教: python 在后台如何将数据导出 excel

2015-01-14 12:34:08 +08:00
 HLT

比如,系统内有学生的报名信息:姓名 性别 身份证号 第一志愿 第二志愿 第三志愿 。。。。如何将这些数据导出成excel呢?有什么相关的插件或实现思路吗?
同理,也有导入的需求!

12697 次点击
所在节点    Python
15 条回复
zvhdd
2015-01-14 12:37:58 +08:00
why not CSV?
chevalier
2015-01-14 12:40:39 +08:00
CSV吧
Monad
2015-01-14 12:41:50 +08:00
Delbert
2015-01-14 12:42:20 +08:00
xlrt
xlwt
jianghu52
2015-01-14 13:38:33 +08:00
http://www.111cn.net/phper/python/42388.htm
这里有excel的读取和写的操作教程,希望对你有帮助。但是个人建议,如果为了通用性的话,还是存csv文件吧。excel格式真不是什么好东西。
knightwang
2015-01-14 14:29:04 +08:00
xlwt挺好用的
kunimi
2015-01-14 14:31:09 +08:00
csv的话,pandas.to_csv & pandas.read_csv
superbear
2015-01-14 15:45:06 +08:00
csv,excel可直接打开的,不过请注意把逗号先替换掉
cevincheung
2015-01-14 15:52:52 +08:00
新建一个excel文件。另存为xml。然后用编辑器打开。然后你懂的。
jamiesun
2015-01-14 15:56:28 +08:00
tablib
glasslion
2015-01-14 16:38:03 +08:00
xlwt 正解
jiang42
2015-01-14 16:42:58 +08:00
pandas...
geeklian
2015-01-14 16:53:00 +08:00
我说一个变相的思路吧,屡试不爽,已经用在单位的生产环境,不需要第三方库。

1,用ms excel编辑好excel模板。

2,保存成2003xml格式

3,将这个文件作为django/web.py的模板使用。多行就循环加行。

4.在html头部加入
content-type :application/ms-excel

content-disposition:attachment;filename=“xxxz.xls”


这样导出报表时会自动打开excel。

单位没正常外网,手机回帖,楼主多多包涵。
zonghua
2016-04-19 14:23:32 +08:00
@geeklian 让我尝试一下
shawshi
2016-06-04 12:05:21 +08:00
推荐一个代码片段
#-----------------------------------
import xlwt
import StringIO
import web
urls = (
'/rim_request','rim_request',
'/rim_export','rim_export',
'/(.*)', 'index'
)
class rim_export:
#render = web.template.render('adsl')
def GET(self):
web.header('Content-type','application/vnd.ms-excel') #指定返回的类型
web.header('Transfer-Encoding','chunked')
web.header('Content-Disposition','attachment;filename="export.xls"') #设定用户浏览器显示的保存文件名
wb=xlwt.Workbook()
wb.encoding='gbk'
ws=wb.add_sheet('1')
ws.write(0,1,'123') #如果要写中文请使用 UNICODE
sio=StringIO.StringIO()
wb.save(sio) #这点很重要,传给 save 函数的不是保存文件名,而是一个 StringIO 流
self.write(sio.getvalue())
return
#该代码片段来自于: http://www.sharejs.com/codes/python/7265
#-----------------------------------

我用的 web 框架是 tornado.web 框架

StringIO 主要通过这个框架获取到 excel 的二进制数据流,该方法适合所有的文件导出,楼上通过 xml 导出有一定的局限性

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/162030

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX