有必要导出一个 100W 数据的 Excel

2020-10-20 08:41:25 +08:00
 hackingwu

产品想要导出数据到 Excel,想要导出的数据量最多可能会到 100w 的数据量。Excel 文件估计会有 200MB 。 我觉得这个需求是很不合理和没用。请问大家有类似的需求吗 ,使用过程中有遇到什么问题吗?

9296 次点击
所在节点    程序员
87 条回复
wakzz
2020-10-20 09:37:40 +08:00
这种海量数据,坚决不用 excel,坑太多了。楼主要怼回去,最多搞 csv 导出,海量数据用 excel 简直是想屁吃
opengps
2020-10-20 09:45:47 +08:00
只是行数据的话,用 csv,真需要套用公式样式,那就手动把 csv 转 xls
GeruzoniAnsasu
2020-10-20 09:45:56 +08:00
因为导出 excel 这个需求在做产品的时候实在太常见了,所以想围绕 excel 再说一些以前写代码从来没有观察到的有意思的事

为啥客户非得要把你产品平台的数据导成 excel ?
因为这是他的 kpi 。总有文章强调不要把管理当成工作本身 /管理即工作,但这恰恰是管理即工作广泛性的体现。你的产品不给他做一个展现自己工作成果的功能,他老板怎么知道他到底有没有用到这个花钱买来的玩意?他怎么证明自己做了“管理”这件事情?

好,那为啥非得 excel 不可?——很简单,因为很可能他们有一个 oa,月报就是上传一个 excel 文件,并且其它格式不支持。或者干脆办公电脑是瘦终端
没法查看其它文件也无法与外界交换其它文件。并且拿到这个报告的中层很可能工作就是把各个小弟交上来的 excel 复制粘贴一下变成自己的报告。

好,那,一个文件打开要半小时根本没法看怎么办
——如果你是领导,你不能让下面人交给你之前先整理过吗?
——如果你是销售,你不也是站在领导立场的吗,你不会建议领导交给小弟处理吗?
——如果你就是小弟,蛤蛤,领导让你加班 12 小时明天上线你有得选吗


所以你看,用这个功能的人根本没资格说它不好用,并且用的人还依赖它给自己生产 kpi,懂我意思不咯



看过这一圈回头想自己写过的那些 bug 就都释然了:bug 是产品的一部分,不服别买,要修加钱
yujs777
2020-10-20 09:46:46 +08:00
我这边数据部门有一个 50W 的数据导出 excl 的需求,其实这种需求本来就不合理,但是人家给钱给时间,做也就做了。

主要还是注意内存溢出问题。然后响应时间比较长,注意调整一些代理或路由的默认超时时间。尽量用 csv 。比较吃服务器资源可以考虑做个限流。
ylsc633
2020-10-20 09:50:30 +08:00
单个 excel 差不多 限制 一百万左右

有需求就做呗 只要不影响性能
zarte
2020-10-20 09:53:08 +08:00
凭啥说不合理?数据量大能 csv 就用这个要不然处理起来麻烦。
raymanr
2020-10-20 09:55:07 +08:00
@GeruzoniAnsasu 这个问题我倒是了解过,问了让我帮导出 100W*90 数据的人

他要把数据连接到数据透视表发给大领导

为何不能用 csv + powerQuery? 因为大领导用得 mac, 不支持 powerQuery

为何不用拖拽类的 olap 分析工具? 因为数据库是 mysql,对于复杂查询能查几个小时

为何不能换 olap 数据库? 因为小领导觉得 mysql 是天下第一好的数据库,同时很多数据抽取程序和 mysql 耦合太高

所以这 TM,我只能说你们爱咋咋地吧,什么工具什么结果你们都定好了,然后让我摸一下代码就能 xlsx 文件变小,程序速度变快吗?
KennyMcCormick
2020-10-20 09:59:13 +08:00
问就导呗,别人要怎么用不管你的事。
GeruzoniAnsasu
2020-10-20 10:05:58 +08:00
@raymanr

hhh 产品:哥们就吃了这碗屎吧,就恶心一下大家都好过,没人会怪你的,瞎整都行,能有就行,吃吧


屎山都是这么来的
fhsan
2020-10-20 10:10:55 +08:00
合理,我以前经常导
fhsan
2020-10-20 10:12:31 +08:00
100w 的数据 200m,电脑好点,几分钟打开,他们这些人都习惯了,除非他们先不打开了才不会让你导出
realpg
2020-10-20 10:13:46 +08:00
100 行数据 硬盘稍微快点 很快就能解决啊
先导出 CSV 这类不需要逻辑的
然后变成 CSV 以后,无论搞啥都不会拖累数据库服务器了
爱转啥格式有啥需求就转啥
甚至可以用 VB6+EXCEL COM 弄个通用的转格式,然后把这个程序和 CSV 丢给跟你提出需求的人让他在自己机器上跑还能看见进度……省的在你机器上跑半天他们还催你
WytheHuang
2020-10-20 10:16:09 +08:00
很正常的,我司系统必备导出 excel 功能。几乎每个模块都有,复杂 excel 表格也有。
geektony
2020-10-20 10:22:00 +08:00
面对 B 端用户,所有需求都「合理」
princelai
2020-10-20 10:26:36 +08:00
导 CSV,
CSV 优点:存储速度快,打开速度快,没有行数限制

XLSX 优点:体积比 CSV 小

XLSX 存储和打开可能比 CSV 慢一倍
chengfeng
2020-10-20 10:27:33 +08:00
你们这算什么,我们现在是导出 100W 已经实现了,下一步是 1000W 哈哈哈哈
chaosjohn
2020-10-20 10:32:12 +08:00
让给导 excel 数据,我都是反手一个 CSV 过去,想要 xls/xlsx,自己另存为吧
seanseek
2020-10-20 10:38:49 +08:00
之前导过很多这种,xls 有行数限制,建议 csv,整个后台任务,倒完邮件发他
Cloutain
2020-10-20 11:10:39 +08:00
绝大部分产品就是屎山堆积,做就完了,管那么多干啥呢,哈哈哈
galileo1214
2020-10-20 11:30:27 +08:00
我 1600w 的数据都随便导,postgre,直接 csv

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

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

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

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

© 2021 V2EX