1.内存限制在256M以内
2.数据量在100w左右大神们有什么有什么好的解决方案。利用PHPExcel自带的内存溢出处理还是不能满足需求,希望能给出比较详细的解决方案。

解决方案 »

  1.   

    用 XML表格 方式导出,需要 utf-8 字符集
    具体格式可用 excel 产生,你直接套用
      

  2.   

    数据库导出 从数据库导出我可以分批次导出 主要是写入Excel的时候内存消耗太大
      

  3.   

    用PHPExcel就不消耗内存么?你的导出代码是如何写的。
      

  4.   

    select * into outfile '文件存放路径' from 表名;   // 直接用sql导出不可以么
      

  5.   

    或者第二种:
    mysql -uroot -p -e "select * from 数据库名.表名" > 文件存放路径
      

  6.   

    用PHPExcel消耗内存,怎么能控制在256内一下,我做的是导出报表的功能还需要操作Excel合并单元格之类的 所以原则用PHPExcel 
      

  7.   

    PHPExcel 提供了文件方式缓存中间结果,不知你启用了没有
    不用 PHPExcel 同样能产生带格式的 xls
    如果只有一个工作表,可直接用 HTML 的 表格(table)输出,支持 css
    如果有多个工作表,可用 XML表格 输出xls 的工作表有65536行的上限,生成时需注意
    xlsx 是否也有行上限,没用过,不知道
      

  8.   

    // 设置缓存方式,减少对内存的占用
     $cacheMethod = PHPExcel_CachedObjectStorageFactory::cache_to_phpTemp;
     $cacheSettings = array ( 'cacheTime' => 300 ); 
    PHPExcel_Settings::setCacheStorageMethod ( $cacheMethod, $cacheSettings );
      

  9.   

    php 迭代器
      

  10.   

    PHPExcel有没有追加数据的方法
      

  11.   

    数据量太大,可以分批次导出,导出到不同的excel