вот могу дать напидореную функцию для чтения таблиц сохраненных в тхт с табами в экселе в винде
public function get_rows($file_path, $start = 0, $length = 0)
{
$handle = fopen($file_path, 'r');
$rows = array();
$i = 0;
while ( !feof($handle) )
{
$row = fgets($handle);
if ( $i >= $start && $i < $start + $length )
{
$row = trim($row);
if ( strlen($row) )
{
$cells = explode("\t", iconv('windows-1251', 'utf-8', $row));
foreach ( $cells as $n => $cell )
if ( substr($cell, 0, 1) == '"' && substr($cell, -1) == '"' )
$cells[$n] = str_replace('""', '"', substr($cell, 1, strlen($cell) - 2));
$rows[] = $cells;
}
}
$i++;
}
fclose($handle);
return $rows;
}
нужно организовать очередь и читать кусками такого размера чтобы их обработка влезала в память