[Помогите] Заставить работать PHPExcel "Порциями"

Тема в разделе "OpenCart", создана пользователем ZloyShadow, 23 фев 2013.

  1. ZloyShadow

    ZloyShadow

    Регистрация:
    12 фев 2013
    Сообщения:
    104
    Симпатии:
    6
    Собственно идея, заставить PHPExcel загружать и обрабатывать не всё сразу а допустим по 100.000 строк, кто нибудь пробовал дорабатывать PHPExcel под такие задачи?
    Ну так чтобы при заливке залил 100.000 , потом ещё 100.000 потом ещё, но всё это было в одном файле.
     
  2. halfhope

    halfhope

    Регистрация:
    31 дек 2012
    Сообщения:
    284
    Симпатии:
    309
    Может вас заинтересует статья http://habrahabr.ru/post/148203/
    UPD: Да и по запросу(phpexcel большие файлы) в гугле много полезной информации. Просто подумал, что те, у кого большие файлы могли столкнуться с такой же проблемой...
     
  3. ZloyShadow

    ZloyShadow

    Регистрация:
    12 фев 2013
    Сообщения:
    104
    Симпатии:
    6
    За статью спасибо, а подскажите пожалуйста, у меня файлы не xls а xlsx , у них же какой то другой тип обработки вроде как, данное решение подойдёт? Просто товаров далеко за 500.000
     
  4. halfhope

    halfhope

    Регистрация:
    31 дек 2012
    Сообщения:
    284
    Симпатии:
    309
    Понятия не имею, но судя по коду, глубоко в обработку он не "врезается". По моему, вам всего-навсего нужно будет поменять
    PHP:
    $inputFileType 'Excel5';
    на
    $inputFileType 
    'Excel2007';
     
  5. ZloyShadow

    ZloyShadow

    Регистрация:
    12 фев 2013
    Сообщения:
    104
    Симпатии:
    6
    Проблема в том что я не вижу где в модуле Экспорта/Импорта вообще сам обработчик файла.
    ну где обработка производится , точнее указывание с какими файлами работать.
    В админ/модел/тул как я понимаю.
    Но не нашёл там прямого указания на тип файла итд, только на работу с бд и выдачу файла ( выгрузку из бд ).
    Кстати не подскажете где коды версий PHPExcel можно посмотреть? просто он выгружает в старый Excel тип, это версия 8 , меня же интересует что то посвежее, Интересует выгрузка в Экселевский тип 2007 , который XLSX.
    тут просто не могу разобраться через какой файл происходит связь с библиотекой импорта и он импортируется в дальнейшем.
     
  6. halfhope

    halfhope

    Регистрация:
    31 дек 2012
    Сообщения:
    284
    Симпатии:
    309
    admin/model/tool/export.php
    Там вроде функция download(2378 строка) за это отвечает.
    А вот http://code.google.com/p/php-excel/ страница проекта PHPExcel, там есть вся соответствующая информация, только на английском.
     
  7. ZloyShadow

    ZloyShadow

    Регистрация:
    12 фев 2013
    Сообщения:
    104
    Симпатии:
    6
    Это не ридер. Это экспорт. А интересует импорт, который как раз таки я и не могу найти.
     
  8. halfhope

    halfhope

    Регистрация:
    31 дек 2012
    Сообщения:
    284
    Симпатии:
    309
    Там же, только функция upload(1604 строка). А в чем проблема через офис сохранить файл с другим форматом?
     
  9. ZloyShadow

    ZloyShadow

    Регистрация:
    12 фев 2013
    Сообщения:
    104
    Симпатии:
    6
    проблема в том что ограничение офиса XLS файла в 65к строк, а у меня 500.000 позиций
     
  10. ZloyShadow

    ZloyShadow

    Регистрация:
    12 фев 2013
    Сообщения:
    104
    Симпатии:
    6
    Вопрос не в использовании софта ( OpenOffice вообще постоянно сыпется на таком кол-ве строк, да и его формат не хочет обрабатывать PHPExcel ).
    Вопрос в том как заставить работать это всё порциями...