第一篇文章。我非常需要使用 PHP/My SQL 读取和写入非常大 (5mb+) 的 excel 文件。我使用过 PHPExcel,虽然它非常优雅,但它太慢了,并且使用了太多 PHP 内存来满足我的需要。目前,我的主机仅限于 32M PHP 内存。
我目前的解决方案如下:
导入数据库
我对 .xls 文件使用 php-excel 阅读器 ( http://code.google.com/p/php-excel-reader/ ) - 在 PHP 内存不足之前可以导入大约 3000 行。
我对 .xlsx 文件使用电子表格阅读器(https://github.com/nuovo/spreadsheet-reader),到目前为止,我已经尝试了 5000 行以上而没有耗尽内存。它非常慢,这让我相信它一次打开和关闭 excel 文件并读取大块数据。
出口
PHP Excel 用于大约 500 行以下的任何内容。效果很好,但速度很慢,并且无法使用 32Mb PHP 内存处理几百行(注意:我正在使用缓存,这有帮助但还不够)
超过 500 行的基本制表符分隔文本。非常快,对行没有限制,但没有格式,也不是真正的 excel。
理想情况下,我正在寻找一种可以快速读写 .xls 和 .xlsx 文件且不会遇到内存问题的一体化解决方案。我不介意商业产品,并且很乐意为有效的东西支付几百美元。
我花了几个小时搜索互联网和这个网站,但还没有找到任何东西。
有任何想法吗?
PS:如果有人想看看我是如何实现上述解决方案的,我很乐意分享代码