[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Парсер Excel файлов
MailRes
Всем привет!

Пробовал пару парсеров, чтобы из Excel файлов данные на сайт выкладывать.
Разобрался как работают, но есть один нюанс. Т.к. на хостинге оперативки мало, то некоторые файлы целиком прочитать не получается (только если грохнуть пару сотен строк в них сначала), появляется ошибка нехватки памяти.

Может быть есть парсеры, которые файлы Excel частями загружают, ну т.е. загрузили первые 100 строк, обработали, оперативку очистили, затем следующие 100 строк... и так пока файл не закончится???

Никто с таким не сталкивался?

p.s. На более дорогой хостинг не хочется переезжать sad.gif



Спустя 4 часа, 49 минут, 8 секунд (20.04.2012 - 21:00) walerus написал(а):
Попробуй как написано тут

Спустя 1 день, 15 часов, 47 минут, 44 секунды (22.04.2012 - 12:48) MailRes написал(а):
csv конечно гораздо меньше xls, но недолюбливаю этот формат, т.к. частенько проблемы бывают, то с кодировкой, то разметкой...

p.s. walerus, попробовал по твоей ссылке, закачал скрипт с примером на сайт - выполнилось, csv прочитал. Я взял xls файл (размер 10Мб), который у меня не читается парсером и выдаёт ошибку, что 64Мб оперативки мало. Пересохранил его в csv, файл стал 5Мб, но и он не прочитался "твоим" парсером - опять ошибка, что 64Мб оперативки мало.
Спасибо, но твой пример не подходит.

Спустя 2 часа, 12 минут, 16 секунд (22.04.2012 - 15:00) ruzarh написал(а):
Есть решение у нас на работе проблема была. Вот решение http://habrahabr.ru/post/140352/ Но одна загвоздка, только xlsx будет кушать до съедало 700 метров после 5-7 метров. Тот пост писал мой начальник))

Спустя 3 часа, 23 минуты, 53 секунды (22.04.2012 - 18:24) MailRes написал(а):
ruzarh, покопал - как вариант, да возможно. Но решил покопать в другую сторону: поставил на локальную машину Wamp Server, который успешно справляется с xls файлами. Вот теперь думаю - как проще результат выложить в свою БД. Т.к. на хостинге стоит запрет подключения к БД "из вне", только по SSH тоннелю...

Спустя 9 минут, 44 секунды (22.04.2012 - 18:33) walerus написал(а):
MailRes как вариант, увеличить память для работы
ini_set('memory_limit', '1024M');
или же, почему сразу не импортировать файл в БД ?, для чего такие манипуляции...

Спустя 7 минут, 1 секунда (22.04.2012 - 18:40) ruzarh написал(а):

ini_set('memory_limit', '1024M');


А на хостинге стоит ограничение 64 метра. Ты думаешь там кто то выделит 1024? Вряд ли.

Спустя 1 минута, 32 секунды (22.04.2012 - 18:42) MailRes написал(а):
walerus, да конечно пробовал, не прокатило - сразу сообщения появляется в error_log, что эта функция отключена. А хостер на это говорит, что нельзя так память на их хостинге увеличивать под скрипт.

Т.к. на локальной машине по умолчанию 32Мб выделилось, скрипт не заработал, а написал в скрипте ini_set('memory_limit', '1024M'); и сразу всё пошло.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.