V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
bin20060407
V2EX  ›  PHP

关于 php 导出 excel 最佳实现,请指点,欢迎拍砖

  •  
  •   bin20060407 · 2015-04-15 18:53:00 +08:00 · 2922 次点击
    这是一个创建于 3291 天前的主题,其中的信息可能已经有所发展或是发生改变。

    用过的几种方式:
    1、csv 优点:格式简单;缺点:直接打开会有提示格式不对;如果单元格为数字,且第一位为0,打开后会丢失。
    2、xml 优点:格式简单,上面说的0丢失问题,没有。缺点:直接打开会有提示格式不对;文件体积庞大(5万条数据每行三十个字段,文件体积达到50MB)
    3、使用php pack函数生成,中文和兼容没解决(微软office可以打开,wps无法打开)
    4、phpexcel类库,生成占用内存巨大,生成一万条数据,得占用1G内存
    那么问题来了,可有更好的生成方式?

    7 条回复    2015-05-05 11:03:49 +08:00
    873681136
        1
    873681136  
       2015-04-15 19:10:58 +08:00 via Android
    目前比较好的实现是php类,还有一种可以实现一个后端来帮助转换
    bin20060407
        2
    bin20060407  
    OP
       2015-04-16 16:26:30 +08:00
    @873681136 你说的php类指的是? 后端转换可指的是用其他语言转换么?
    873681136
        3
    873681136  
       2015-04-16 17:44:03 +08:00 via Android
    @bin20060407 phpexcelreader,后端可以写个python脚本来定时转换实现,当然用其它语言也没问题
    summersky92
        4
    summersky92  
       2015-04-23 21:39:16 +08:00
    fputcsv 5w条拆分开 指定读取一个数字就写入这么多到csv 默认运行时间 感觉足够了
    euzen
        5
    euzen  
       2015-04-24 01:58:53 +08:00
    我最后没办法,把服务器架在win上,用com调EXCEL生成文件了。
    bin20060407
        6
    bin20060407  
    OP
       2015-05-05 11:03:20 +08:00
    @summersky92 csv 伪装成excel,office打开会有提示,且单元格首位是0会丢失。
    bin20060407
        7
    bin20060407  
    OP
       2015-05-05 11:03:49 +08:00
    @euzen - - 我已经被逼,考虑通过其他语言实现了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5440 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 03:35 · PVG 11:35 · LAX 20:35 · JFK 23:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.