![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 21.09.2012
Сообщений: 20
|
![]()
Здравствуйте. Суть проблемы в следующем. Есть большой xlsx файл (~386 столбцов, ~488 строк, размер ~1,5 mb). Необходимо кодом в php считывать из него информацию и забивать её в базу данных. Найдены несколько вариантов классов и библиотек для работы с Excel, но все они нормально работают с небольшими файлами, а с большими вылетает ошибка Out of Memory. Во всех случаях интересует обращение к конкретной ячейке (строка, столбец).
1. Библиотека PHPExcel. Работает отлично, есть множество полезных функций, но очень медленная и не может обрабатывать большой файл. 2. Класс SimpleXLSX. Файл читает без ошибок, работает быстро, но с помощью него не могу никак обратиться к значению конкретной ячейки. То есть он считывает строки в один большой массив, а элементы этого большого массива также представляют собой массивы со значениями ячеек соответствующей строки. Но обратиться к значению какой нибудь конкретной ячейки не получается. 3. Класс phpExcelReader. Также прекрасно работает, быстро и открывает большие файлы, дает обращаться к конкретной ячейке файла, но тут проблема заключается в том, что он работает только исключительно с файлами xls (формат Excel 97-2003), а с файлами xlsx (формат 2007-2010) работа не поддерживается. А работать нужно именно с xlsx файлами. Возможно кто-нибудь из Вас уже сталкивался с подобной проблемой и как-то решил её. Нужен совет, как и что использовать для работы с большим файлом, и, если не затруднит, с короткими примерами, как открыть файл для чтения и обратиться к конкретной ячейке. P.S. Преобразование файла в csv-формат и последующая работа с ним пока не рассматривается, хотя, если никаких других вариантов не найду - придется наверно именно так и действовать. |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 08.07.2010
Сообщений: 679
|
![]()
В настройках php увеличьте лимит памяти на процесс
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 21.09.2012
Сообщений: 20
|
![]()
Наверное вы имеете в виду параметр memory_limit в php.ini. Если речь о нем, то увеличивал, все равно PHPExcel загибается. А как по другому увеличить память, выделяемую процессу я не знаю.
|
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
открыть большой графический файл побитно | FoggySpurs | Общие вопросы по программированию, компьютерный форум | 71 | 04.06.2012 13:34 |
Как правильно открыть php файл? | shevron | PHP | 2 | 07.08.2011 15:33 |
Не могу передать большой файл из формы php скрипту | lemk0 | PHP | 1 | 09.02.2011 16:24 |
Какой программой открыть файл .xlsx ? | DeKot | Софт | 4 | 14.12.2010 13:04 |
Открыть php файл на другом сайте | gred | PHP | 3 | 21.02.2009 16:27 |