A.
Что посоветуете для парсинга excel файла? Может кто юзал какие-нибудь хорошие библиотеки. Заранее спасибо
Евгений
пхпексель, не?
Anonymous
лучше в csv переводить и парсить
Евгений
лучше в csv переводить и парсить
не лучше, возможно там сложная структура
A.
понял, благодарю
Juri
лучше в csv переводить и парсить
вы еще в txt посоветуйте. зачем, если есть отличная утилита которая с этим работает на ура. дажфе файлы в 25-30 мегабайт легко переваривает
Айбулат
даже 25-30 мегабайт...
Евгений
в цсв имеет смысл, если там тупой список
Anonymous
библиотека https://github.com/PHPOffice/PHPExcel Пример работы https://github.com/tmaslo22/PHPExcelExample
🦔
пхпэксель сосёт хуи на больших файлах
Евгений
тупой список это как?
ну исходное предназначение csv
🦔
https://github.com/box/spout если надо только парсить
Евгений
когда просто табличка экспортируется
🦔
писать там тоже можно, но нет такой поддержки форматирования как в пхпэксель
Juri
пхпэксель сосёт хуи на больших файлах
а большие файлы это сколько?
🦔
а большие файлы это сколько?
ну метров 30 попробуй прочитать
Anonymous
300 к строк в файле это большие
Евгений
300 к строк в файле это большие
если строка = 1 кб, то нет
Juri
ну метров 30 попробуй прочитать
каждые пол часа обрабатывается айл в 25-30 метров - норм все. правда конфиг библиотеки пришлось подправить. и каждый час генерируется свой файл с 250к строк - полет нормальный
Евгений
и даже 10 кб
Juri
правда это все крутится на выделенном сервере
🦔
споут читает существенно быстрее
Anonymous
есть решение поднять винду и установить экслеь далее подлючаемся через com и все работает
Anonymous
но это дорого
Juri
и как долго?
в пределах 1 минуты
🦔
в пределах 1 минуты
memory_limit овердохуя?
Juri
memory_limit овердохуя?
я же выше писал, что все это на выделенном сервере, там вего овердохуя, память вроде как 256, не помню точно
Moz
пхпэксель сосёт хуи на больших файлах
если не знать про chunkReadFilter, то, наверное, да, сосёт. Сам эксель порой может сосать на своих же больших файлах.
Moz
норм с чанком читаются большие файлы, даже с картинками
Евгений
256 мб ни о чём
Евгений
побольше файл прилетит и вылетишь с Not allowed memory
Айбулат
исходить из того, что памяти много, поэтому можно так, такое себе)
Juri
нужно будет - добавим, в чем проблема
Айбулат
лол
Айбулат
нужно будет - добавим)
Айбулат
это же не решение
Евгений
почему?
Айбулат
сделайте потоковое чтение и все
Евгений
зато планка лепится за 10 минут
Евгений
а в конфиге вообще минутное дело
Juri
сделайте потоковое чтение и все
зачем изобретать велосипед, если есть сервис который работает. если прилетит файл в несколько раз больше, то проще и быстрее будет добавить еще сктолько же памяти php чем переписывать сервис что бы остаться в этом же лимите
Евгений
переписывать надо будет уже когда памяти начнёт конкретно не хватать
Евгений
16 гб выдали и не хватает, уже думать
🦔
у меня тут есть файл
🦔
30 метров
🦔
всего-то 35к строк
Айбулат
а если сделать так, чтобы памяти мало потребляло и уже быть спокойным, что любой файл, в принципе, читаем
🦔
читается пхпэкселем крайне хуёво даже с memory_limit=8G
🦔
и чанками хуянками
Айбулат
я вот удивлен, почему решением таких задач является увеличение памяти
🦔
а споут кушает и не давится
🦔
файл не дам :х
Айбулат
не то, я имею в виду, читать по "чуть-чуть"
Айбулат
не про процессы отдельные, потоки
🦔
он правильное слово использовал
Juri
а если сделать так, чтобы памяти мало потребляло и уже быть спокойным, что любой файл, в принципе, читаем
пользователю похеру как быстро этот файл обработает за 30 секунд или за 10. сколько при этом будет сожрано памяти ему тоже насрать.
🦔
пхпэксель читает xlsx через simplexml
Евгений
но на практике - надо вчера
🦔
то есть целиком сразу всё
🦔
а есть читалки вроде XmlReader
Айбулат
дыа
Juri
а твоему серваку не похер
мы не в 2000х годах. норм сервер обходится в 3000-4000р...
Айбулат
ему тоже похеру,
это левый заказ что ли? просто не могу понять, почему жалко потратить чутка больше времени и сделать крутое решение
Айбулат
мы не в 2000х годах. норм сервер обходится в 3000-4000р...
забей, я не про мощности сервака, а про решение
Juri
это левый заказ что ли? просто не могу понять, почему жалко потратить чутка больше времени и сделать крутое решение
причем тут левый? это крупный инет магазин, на обслуживании уже много лет. оплата по часам. смысл владельцу платить мне за 3-4 часа работы, что бы то что отлично работает много лет начало работать на 10 секунд быстрее?
Juri
вот если это начнет регулярно падать - тогда это и будет переделываться. просто бизнесс
Айбулат
кк)
Айбулат
ахахахаха
Anonymous
ребзя, хелп кто нибудь генерировал pdf с помощью fpdf?