菜鸟请教: 导出文件是用前端还是后端?

2018-06-20 23:13:06 +08:00
 zhuyw2006

学习 django 有一段时间了,在做一个报表系统练练手,前端是 vue.js + element ui。 需要一个导出前端数据表格文件,可以选择导出的文件类型:Excel、PDF、word、图片。 也可以直接发送邮箱,发送的文件类型可以选择上面这几种。 还可以直接打印页面表格。

对应上面这些,如何正确的选择 JS 还是 Django 处理呢? 谢谢解答!

10064 次点击
所在节点    Python
23 条回复
FeifeiJin
2018-06-20 23:30:50 +08:00
后端
liuhuansir
2018-06-20 23:51:16 +08:00
一般来说都是后端做,Java 的话这几种都有现成的库
lrh3321
2018-06-21 06:48:02 +08:00
一般是后端。数据量小的时候,可以让前端渲染个页面给用户去打印。
wenzhoou
2018-06-21 07:18:09 +08:00
感觉 js 的库调整 excel 的格式比较麻烦。
PythonAnswer
2018-06-21 07:20:16 +08:00
js 一般没有本地写权限
zhuyw2006
2018-06-21 08:03:48 +08:00
zhuyw2006
2018-06-21 08:04:20 +08:00
谢谢
DavidNineRoc
2018-06-21 09:06:39 +08:00
难道后台语言就有本地写的功能? >_<。
只能任由浏览器选择。
sunzongzheng
2018-06-21 09:15:26 +08:00
除 word 前端都能做。数据量太大就后端做
stone1996
2018-06-21 09:23:45 +08:00
有时候前端会分页就不适合前端导出了。鉴于适配性和一致性,还是后端吧
annielong
2018-06-21 09:49:33 +08:00
前端一般都是显示整个页面然后输出打印,
moxiaonai
2018-06-21 09:53:55 +08:00
除了 word,发送邮件,其他前端都能做
wenzhoou
2018-06-21 11:14:53 +08:00
后端做也麻烦。后端做文件的话,消耗的是服务器的性能。放在客户端做文件的话,消耗的是用户的 CPU 和内存,觉得这样好一些。
whypool
2018-06-21 11:18:31 +08:00
@DavidNineRoc 怕是没用过下载,后端发的是文件流
DavidNineRoc
2018-06-21 11:45:04 +08:00
@whypool SO ?后端有本地写的功能?本地不是你的服务器,而是指客户端。我没说清楚。
funlee
2018-06-21 12:38:09 +08:00
最近刚好做了一个导出 word 的功能,前端做的,利用了 file-saver 和 jquery.wordexport.js ,还做了批量导出额。
crb912
2018-06-21 12:52:19 +08:00
@DavidNineRoc 抬杠就没意思了。他说的是服务器后端生成需要的报表文件。然后通过网络,以二进制流的方式当时传输给客户端。

服务器后端,用于读写客户端,怕不是天方夜谭?
DavidNineRoc
2018-06-21 14:06:42 +08:00
@crb912 牛逼,你后面这句话。还反问号问我?
xiaoxlm
2018-06-21 19:11:16 +08:00
后端做啊,前端给个下载用的接口链接就行了
mingyun
2018-06-21 23:44:11 +08:00
@funlee 666 有链接吗

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

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

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

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

© 2021 V2EX