Экпорт данных в файл(excel,pdf,etc.)

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Miracle633
Сообщения: 13
Зарегистрирован: 2016.12.15, 09:26

Экпорт данных в файл(excel,pdf,etc.)

Сообщение Miracle633 »

Всем Доброго Дня! Хотелось бы узнать Ваши советы на мои вопросы.
1) Как мне лучше вывести данные на страницу если они будут состоять из 50! столбцов. При этом надо будет сделать экспорт этих столбцов в файл (excel, pdf).
2) Если вывести на страницу всего 7-8 столбцов из 50. Можно ли будет сделать экспорт не только 7-8 столбцов, а всех 50?
Предпочтительнее, конечно, если будет совет на 2 вопрос. Буду признателен за любую информацию.
Аватара пользователя
Alexum
Сообщения: 683
Зарегистрирован: 2016.09.26, 10:00

Re: Экпорт данных в файл(excel,pdf,etc.)

Сообщение Alexum »

Miracle633 писал(а): 2017.01.16, 09:09 1) Как мне лучше вывести данные на страницу если они будут состоять из 50! столбцов. При этом надо будет сделать экспорт этих столбцов в файл (excel, pdf).
Выводите виджетом GridView, тут сложно что-то другое посоветовать.

Готовое для экспорта.

Поскольку библиотеки разные при экспорте используются, то и проблемы вас ждут соответствующие:
Отдельное расширение yii2 Export Menu http://demos.krajee.com/export - неплохо в Excel, криво в PDF
Замена стандартному GridVIew http://demos.krajee.com/grid - криво в Excel, неплохо в PDF

с 50 столбцами гарантированно придётся горизонтально скроллить страницу. Целую страницу скроллить или только div с таблицей - по вкусу. В GridView от kartik по-умолчанию скроллится сам div.
Miracle633 писал(а): 2017.01.16, 09:09 2) Если вывести на страницу всего 7-8 столбцов из 50. Можно ли будет сделать экспорт не только 7-8 столбцов, а всех 50?
Предпочтительнее, конечно, если будет совет на 2 вопрос. Буду признателен за любую информацию.


Лично я использую Export Menu. Для него и GridView можно использовать один и тот же DataProvider, но указывать разный набор колонок. Соберёте массив columns для GridView из 8 столбцов, для ExportMenu из 50 и будет вам счастье.
Miracle633
Сообщения: 13
Зарегистрирован: 2016.12.15, 09:26

Re: Экпорт данных в файл(excel,pdf,etc.)

Сообщение Miracle633 »

Alexum писал(а): 2017.01.16, 09:34 Лично я использую Export Menu. Для него и GridView можно использовать один и тот же DataProvider, но указывать разный набор колонок. Соберёте массив columns для GridView из 8 столбцов, для ExportMenu из 50 и будет вам счастье.
Спасибо, Добрый Человек! попробую второе и отпишусь)
Miracle633
Сообщения: 13
Зарегистрирован: 2016.12.15, 09:26

Re: Экпорт данных в файл(excel,pdf,etc.)

Сообщение Miracle633 »

Alexum писал(а): 2017.01.16, 09:34 Лично я использую Export Menu. Для него и GridView можно использовать один и тот же DataProvider, но указывать разный набор колонок. Соберёте массив columns для GridView из 8 столбцов, для ExportMenu из 50 и будет вам счастье.
Забыл уточнить, что у меня таблица с большими данными (порядка 23000 строк, количество столбцов я указывал). Поэтому выдает ошибку. PHP Fatal Error - yii\base\ErrorException Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes).
Как решить проблему?
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Экпорт данных в файл(excel,pdf,etc.)

Сообщение ElisDN »

Miracle633 писал(а): 2017.01.16, 13:07Как решить проблему?
Либо повысить memory_limit, либо экспортировать только в лёгкий CSV.
Miracle633
Сообщения: 13
Зарегистрирован: 2016.12.15, 09:26

Re: Экпорт данных в файл(excel,pdf,etc.)

Сообщение Miracle633 »

ElisDN писал(а): 2017.01.16, 13:22 Либо повысить memory_limit, либо экспортировать только в лёгкий CSV.
Постараюсь дать больше памяти.
Оффтоп: Я чуть со стула не упал когда увидел, что Вы ответили. В данное время смотрю Ваши вебинары, которые в открытом доступе. Очень познавательно. Спасибо
Аватара пользователя
Alexum
Сообщения: 683
Зарегистрирован: 2016.09.26, 10:00

Re: Экпорт данных в файл(excel,pdf,etc.)

Сообщение Alexum »

Miracle633 писал(а): 2017.01.16, 14:59
ElisDN писал(а): 2017.01.16, 13:22 Либо повысить memory_limit, либо экспортировать только в лёгкий CSV.
Постараюсь дать больше памяти.
Оффтоп: Я чуть со стула не упал когда увидел, что Вы ответили. В данное время смотрю Ваши вебинары, которые в открытом доступе. Очень познавательно. Спасибо
PHPExcel ещё тот "убийца" памяти. ~1кб на 1 ячейку.

Дмитрий тут часто появляется, Мировой человек! Помню ещё по почте ему докучал :lol:, правда с последней моей проблемой так и не помог :cry: . А потом я открыл для себя этот форум, очень много полезного тут можно подчерпнуть.
Miracle633
Сообщения: 13
Зарегистрирован: 2016.12.15, 09:26

Re: Экпорт данных в файл(excel,pdf,etc.)

Сообщение Miracle633 »

Alexum писал(а): 2017.01.16, 15:47 PHPExcel ещё тот "убийца" памяти. ~1кб на 1 ячейку.
Это правда? :shock: Я тут посчитал, что мой выходной excel файл будет хранить ~758000 ячеек. Что мне посоветуете сделать?
Alexum писал(а): 2017.01.16, 15:47 А потом я открыл для себя этот форум, очень много полезного тут можно подчерпнуть.
Согласен)
Matvik
Сообщения: 194
Зарегистрирован: 2013.06.21, 02:32

Re: Экпорт данных в файл(excel,pdf,etc.)

Сообщение Matvik »

Miracle633 писал(а): 2017.01.16, 16:08
Alexum писал(а): 2017.01.16, 15:47 PHPExcel ещё тот "убийца" памяти. ~1кб на 1 ячейку.
Это правда? :shock: Я тут посчитал, что мой выходной excel файл будет хранить ~758000 ячеек. Что мне посоветуете сделать?
Можно экспортировать на локальной машине)
Использовал этот виджет:
https://github.com/kartik-v/yii2-export
Но там немного было данных.
Ответить