Dieser Artikel stellt hauptsächlich vor, wie man große Excel-Dateidaten mit PHP liest. Er hat einen gewissen Referenzwert. Jetzt können Freunde in Not darauf verweisen.
Unten verwenden wir SpreadsheetReader, eine Klassenbibliothek, die Stream-Verarbeitung verwendet, um große Excel-Dateien zu lesen
Schreibprozess
Code
<?php /** * Created by PhpStorm. * User: qkl * Date: 2018/7/11 * Time: 15:14 */ set_time_limit(0); // 设置脚本最大执行时间 为0 永不过期 //ini_set('memory_limit','200M'); // 临时设置最大内存占用 function convert($size) { $unit = array('b', 'kb', 'mb', 'gb', 'tb', 'pb'); return @round($size / pow(1024, ($i = floor(log($size, 1024)))), 2) . ' ' . $unit[$i]; } require '../vendor/autoload.php'; $start = memory_get_usage(); echo convert($start) . PHP_EOL; //$inputFileName = './11111111.xlsx'; $inputFileName = './example1.xlsx'; // If you need to parse XLS files, include php-excel-reader $startTime = microtime(true); $Reader = new SpreadsheetReader($inputFileName); //获取当前文件所有的工作表 $sheets = $Reader->Sheets(); if (!$sheets) { die("没有工作表"); } //改变当前处理的工作表 $Reader->ChangeSheet(0); //打印当前所在工作表的当前所在行数据 var_dump($Reader->current()); //因为reader类集成了Iter所以可以用迭代方式处理 //这里提醒 如果文件超大,这边的处理速度会过慢,不过不会引发内存性能问题 //$i = 0; //foreach ($Reader as $Row) //{ // if ($i>=3) { // break; // } // // echo $i . PHP_EOL; // print_r($Row); // // $i++; //} $endTime = microtime(true); $memoryUse = memory_get_usage(); echo "内存占用:" . convert($memoryUse) . "; 用时:" . ($endTime - $startTime) . PHP_EOL;
Verwandte Empfehlungen:
So verwenden Sie MixPHP, um API-Schnittstellen zu entwickeln
Das obige ist der detaillierte Inhalt vonSo lesen Sie Daten aus großen Excel-Dateien mit PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!