1
lait123 247 天前 2
你可能需要 xlswriter: https://github.com/viest/php-ext-xlswriter
|
2
Mithril 247 天前
都搞到 SQLite 里,查出来再写 Excel 或者 CSV 。
如果不算高频操作,你甚至都不用写代码,找个 GUI 的客户端录个自动化脚本都行。 |
3
mumbler 247 天前
这种级别数据需要异步处理,excel 单表最多 100 万,超过会分到下一个 sheet
|
4
abccccabc 247 天前
导出的时候配合 layui-excel 试下,印象中说百万数据没问题,就看客户端的内存了。
|
5
sagaxu 247 天前 via Android
这种应该用 csv ,excel 不是好的选择
|
6
test123abc OP @Mithril 老哥能细说下吗,没了解过这些
|
7
test123abc OP @sagaxu 老哥能细说下吗😭
|
8
sagaxu 247 天前
@test123abc
excel 不适合的原因: 1. 最大行数 100 万行,百万级的数据量稍微再大点就超了 2. 超过 20 万行后,十分消耗资源,office 打开容易卡容易崩 3. 兼容性,csv 拥有最广泛的兼容性,各大 db 支持导出 csv ,excel 不如 4. 解析不方便,csv 按行处理不用库也很容易解析,excel 要先解压,有些库是一次性全部解压到内存。带公式带宏或者其它特殊信息的 excel 可能解析错误。 |
9
codebs 247 天前
xlswriter 可以满足你的需求,可以分表打包成压缩包下载
|
10
Mithril 247 天前
@test123abc 简单地说,就是不要用 Excel 去处理包含大量数据的复杂查询。
它就是个电子表格,那就让它做电子表格该做的事。想要把它当数据库用,那就找个数据库软件。 SQLite 就是个数据库,单文件,性能也不差。比起其他数据库,能更简单的运行起来,也有更多的软件支持。所以建议你先把数据搞到数据库里,然后用 SQL 做关联查询,结果再写出来。 Microsoft Access 也行,你自己会用哪个就选哪个。 |
11
8355 247 天前
|
12
chenshiforever 247 天前
要我来写,最简单的就是 js 读出来,保存在数组里面,关联处理了,保存成文本文件,完事。
|
13
lulu00147 247 天前
大哥你先把 excel 转成 csv 用 rust 写的这个
https://github.com/zitsen/xlsx2csv.rs/releases 然后把 csv 导入 mysql 在查询导出就行了 |
14
pota 247 天前
大量数据的输入输出都尽量使用 csv 来进行,一方面是可以按行处理,一方面也不需要导入库。还有超大量的数据处理最好用异步。
|
15
test123abc OP |
16
jackerbauer 247 天前
你可能需要 xlswriter: https://github.com/viest/php-ext-xlswriter
|
17
wxf666 247 天前
|
18
test123abc OP 是要在内部的后台给运营人员开一个处理 excel 的地方
现在使用 xlswriter ,将 excel 转为 csv ,然后将 csv 导入数据库,在读取后处理导出,问题是 excel 转为 csv 时,如果是 00123 这种数据,转换后会变成 123 ,而且 csv 字段如果是科学计数法倒入数据库时会乱😭 |