PHP-读取excel文件
我想用PHP逐行读取Excel文件,因为一次读取整个文件会导致内存溢出 我找了很多,但到现在为止运气都不好 我认为PHPExcel库可以在实现filter类时读取excel文件的块,但每次它获取该块时,它都会读取整个文件,这在大型.xls文件中是不可能的,因为这需要花费时间PHP-读取excel文件,php,excel,Php,Excel,我想用PHP逐行读取Excel文件,因为一次读取整个文件会导致内存溢出 我找了很多,但到现在为止运气都不好 我认为PHPExcel库可以在实现filter类时读取excel文件的块,但每次它获取该块时,它都会读取整个文件,这在大型.xls文件中是不可能的,因为这需要花费时间 有什么帮助吗? < P>这可能是完全没有问题的,但是从我从你的问题中得到的信息中,下面似乎是一个显而易见的选择,至少要考虑一些…… 我觉得这是一个非常大的文件,需要经常访问。因此,我将尝试将其数据导入数据库 我想没有必要解
有什么帮助吗? < P>这可能是完全没有问题的,但是从我从你的问题中得到的信息中,下面似乎是一个显而易见的选择,至少要考虑一些…… 我觉得这是一个非常大的文件,需要经常访问。因此,我将尝试将其数据导入数据库
- 我想没有必要解释数据库在性能和缓存方面是大师级的李>
- 之后仍然可以将数据库的内容导出到excel文件中
- MySql与PHP配合使用效果很好,当然比excel文件更容易访问。默认情况下,大多数php托管提供商都提供带有PhpMyAdmin管理工具的MySql数据库
- 如果您安装了PhpMyAdmin,那么您可以遵循
- 如果您具有对服务器的命令行访问权限,那么您甚至可以将文件从命令行直接导入MySql数据库李>
对于非常大的文件,您应该使用fopen()和file_getcsv()函数,并在不将数据存储在巨大数组中的情况下执行必须执行的操作,以避免使用file()函数将整个csv文件存储在内存中。这会比较慢,但不会占用服务器的所有内存 为什么不将您的xls文件转换为cvs并逐行读取(使用fopen/fgets)?当您在PHPExcel中使用“块”时,它会扫描整个文件;它不会加载整个文件。。。。但是,您还使用了其他哪些PHPExcel内存节省工具,如cell缓存?@Mark,对不起,我的错,我的意思是扫描整个文件。该文件可以包含数百万行。我只需要对文件进行一次分析。有没有办法,像读取CSV文件(fgetcsv)那样逐行读取?@casimirithippolyte,怎么做?我不能直接将数据导入数据库,我必须解析文件,要求客户对文件中的字段进行澄清,同时我还必须检查记录中是否有损坏的数据等..谢谢回复,我知道gnumeric,但我不喜欢它,因为它是一个Gnome项目,所以它需要Gnome或它的一些包。我想要一个独立的工具。我现在已经建立了自己的图书馆,我以前只需要它来节省时间。
system("ssconvert \"$excel_file_name\" \"temp.csv\"");
$array = array_map("str_getcsv", file("temp.csv"));