Joomla 2.5 + PhpExcel

  • 12 Ответов
  • 959 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

*

ycc

Joomla 2.5 + PhpExcel
« : 09.07.2015, 10:11:24 »
Добрый день.
Ребята, подскажите в решении задачи, пожалуйста.
я формирую xls файл и хочу отдать его сразу на скачивание - он выдается, но с какими-то кракозяблами, подозрение, что Joomla заголовки какие -то перезаписывает, но не уверен.
на тестовом сайте, без Joomla - все ок.
если в файл выводить файл сразу в каталог - сохраняется и отчет открывается с форматированием.

Спойлер
[свернуть]
вот что в файле:
PK@Y醪Ҍc]x[Content_Types].xmlŔ͎ð%䫊ݶjڃ#T<7UǶIZ@HZKș&㍆ӝm D4ޕlȇ,6nYϲLҩi큙tr3^샠FbR BȽG;Lt"HK`N(ƃMƯďFC61Ț0bgE"7讃N~,{섍`2kL\lEͽYګuMޚܶ.⤐Ӟ^AjRmygz$ϠkwGx'e V&贮saEQꩽ룪ûյkoV^K㺎ij胊B]洨

*

Gosha5767

Re: Joomla 2.5 + PhpExcel
« Ответ #1 : 09.07.2015, 11:37:30 »
Для вставки документов xls - можно использовать: Плагин Edocs.
Плагин позволяет с легкостью вставить файлы Excel (.xls), World (.doc), Powerpoint (.ppt), PDF (.pdf) на сайт Joomla, для просмотра документа в любом браузере.
Чистка сайта от дублей в Яндекс и Google.
Удаление ссылок (битых и внешних) на сайте.
Миграция Joomla 1.5 до Joomla 3.хх

*

ycc

Re: Joomla 2.5 + PhpExcel
« Ответ #2 : 09.07.2015, 11:49:41 »
Для вставки документов xls - можно использовать: Плагин Edocs.
Плагин позволяет с легкостью вставить файлы Excel (.xls), World (.doc), Powerpoint (.ppt), PDF (.pdf) на сайт Joomla, для просмотра документа в любом браузере.
не вставлять для просмотра не нужно - нужно только, чтобы корректно пользователь мог сохранять....

*

Gosha5767

Re: Joomla 2.5 + PhpExcel
« Ответ #3 : 09.07.2015, 12:39:05 »
Такой вариант:
Можно закачать файл  Excel (.xls) в папку images (через хостинг или FTP)
Выставить на странице ссылку на файл и пользователь свободно скачает файл
Чистка сайта от дублей в Яндекс и Google.
Удаление ссылок (битых и внешних) на сайте.
Миграция Joomla 1.5 до Joomla 3.хх

*

robert

Re: Joomla 2.5 + PhpExcel
« Ответ #4 : 09.07.2015, 13:01:57 »
Gosha5767, прочитайте тему перед тем, как ответить: ТС формирует файл динамически, а не закачивает offline файл на сервер.
ycc, попробуйте менять headers
Код: html4strict
application/x-unknown
Хотя, похоже, что проблема в кодировке.

P.S. Еще, попробуйте очистить буфер перед сохранением:
Код: php-brief
$objWriter=PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel2007');
ob_end_clean();
$objWriter->save('php://output');
« Последнее редактирование: 09.07.2015, 13:29:34 от robert »
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.

*

ycc

Re: Joomla 2.5 + PhpExcel
« Ответ #5 : 10.07.2015, 09:29:58 »
Gosha5767, прочитайте тему перед тем, как ответить: ТС формирует файл динамически, а не закачивает offline файл на сервер.
ycc, попробуйте менять headers
Код: html4strict
application/x-unknown
Хотя, похоже, что проблема в кодировке.

P.S. Еще, попробуйте очистить буфер перед сохранением:
Код: php-brief
$objWriter=PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel2007');
ob_end_clean();
$objWriter->save('php://output');
буфер я в начале очищаю, application/x-unknown также не помогло...
если я echo данных делаю - они вставляются на русском в 1 ячейку, но также без форматирования.
« Последнее редактирование: 10.07.2015, 09:33:57 от ycc »

*

passer

Re: Joomla 2.5 + PhpExcel
« Ответ #6 : 10.07.2015, 11:49:13 »
В Classes/PHPExcel/Reader/Excel2007.php насколько помню можно кодировку выставить. Поиграйтесь с ней. В какой кодировке сам файл с кодом? Ну и mb_convert_encoding ('Бла-бла-бла' ,"UTF-8" , "Windows-1251" ) попробуйте.

*

ycc

Re: Joomla 2.5 + PhpExcel
« Ответ #7 : 10.07.2015, 14:31:01 »
В Classes/PHPExcel/Reader/Excel2007.php насколько помню можно кодировку выставить. Поиграйтесь с ней. В какой кодировке сам файл с кодом? Ну и mb_convert_encoding ('Бла-бла-бла' ,"UTF-8" , "Windows-1251" ) попробуйте.
что-то не нашел в Excel2007.php параметров для указания кодировки:
Спойлер
[свернуть]

*

ycc

Re: Joomla 2.5 + PhpExcel
« Ответ #8 : 10.07.2015, 14:34:41 »
подскажите, где использовать mb_convert_encoding ('Бла-бла-бла' ,"UTF-8" , "Windows-1251" )

*

passer

Re: Joomla 2.5 + PhpExcel
« Ответ #9 : 10.07.2015, 15:02:03 »
что-то не нашел в Excel2007.php параметров для указания кодировки:
Ну может изменилось что. Давно было. Переменная была что-то вроде $codepage= 'CP1251';  или $pagecode = 'CP1251';
подскажите, где использовать mb_convert_encoding ('Бла-бла-бла' ,"UTF-8" , "Windows-1251" )
Код: php
$active_sheet->setCellValue('A2',mb_convert_encoding ('Компьютеы и комплектующие на любой вкус и цвет' ,"UTF-8" , "Windows-1251" ));

*

ycc

Re: Joomla 2.5 + PhpExcel
« Ответ #10 : 13.07.2015, 16:13:50 »
Ну может изменилось что. Давно было. Переменная была что-то вроде $codepage= 'CP1251';  или $pagecode = 'CP1251';
Код: php
$active_sheet->setCellValue('A2',mb_convert_encoding ('Компьютеы и комплектующие на любой вкус и цвет' ,"UTF-8" , "Windows-1251" ));
переменная есть, но в Excel5, в Excel2007 её нет, mb_convert_encoding также не помогло...

*

ycc

Re: Joomla 2.5 + PhpExcel
« Ответ #11 : 14.07.2015, 09:16:02 »
Если я вывод заголовков делаю вначале файла, то файл формируется с нужной таблицей, но помимо этого еще куча заголовков, которые мне-то и не нужны, т.е. получается ексель обработал тег table.

*

ycc

Re: Joomla 2.5 + PhpExcel
« Ответ #12 : 15.07.2015, 14:39:56 »
вывел заголовки Joomla, кажется что тут что-то не так, а что не знаю...
подразумеваю, что проблема в Accept: text/html,application/xhtml+xml,application/xml

Host: 172.31.79.97 Connection: keep-alive Cache-Control: max-age=0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.131 Safari/537.36 Referer: http://172.31.79.97/uvpz1/index.php/pomoshch Accept-Encoding: gzip,deflate,sdch Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4 Cookie: f7d9227645bd2bf9ce4b599710b22337=ms3eqbdugriesnn5vbk74ov3q1; 29bf1910b955df09cd9147f4f28def8a=1jji4filp7uktm19jorva4joa1; jpanesliders_categories-sliders-=0; jpanesliders_menu-sliders-=0; jpanesliders_permissions-sliders-50=0; jpanesliders_categories-sliders-50=1; jpanesliders_menu-sliders-360=-1; jpanesliders_permissions-sliders-49=0; jpanesliders_categories-sliders-49=-1; jpanesliders_content-sliders-=0; jpanesliders_permissions-sliders-=0; jpanesliders_content-sliders-368=0; jpanesliders_permissions-sliders-368=0; c0b12dfce03bafd1eecc18d018e2e226=4u775tk7ki0tm6821mrlqderv2; e96d341c996069a7d20f51e61116caad=k0qrd51u0vevqsek3fggfnlb87; jpanesliders_content-sliders-369=-1; jpanesliders_permissions-sliderscom_media=0; jpanesliders_panel-sliders=0; configuration=server; jpanesliders_permissions-sliders=0; jpanesliders_permissions-sliders-369=0; jpanesliders_permissions-sliderscom_content=0

как можно задать форматы в Accept?