Форум русской поддержки Joomla!® CMS
03.12.2016, 13:43:18 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Joomla 2.5 + PhpExcel

 (Прочитано 591 раз)
0 Пользователей и 1 Гость смотрят эту тему.
ycc
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 18


« : 09.07.2015, 09: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
Завсегдатай
*****

Репутация: +20/-0
Online Online

Пол: Мужской
Сообщений: 412



« Ответ #1 : 09.07.2015, 10:37:30 »

Для вставки документов xls - можно использовать: Плагин Edocs.
Плагин позволяет с легкостью вставить файлы Excel (.xls), World (.doc), Powerpoint (.ppt), PDF (.pdf) на сайт Joomla, для просмотра документа в любом браузере.
Записан
ycc
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 18


« Ответ #2 : 09.07.2015, 10:49:41 »

Для вставки документов xls - можно использовать: Плагин Edocs.
Плагин позволяет с легкостью вставить файлы Excel (.xls), World (.doc), Powerpoint (.ppt), PDF (.pdf) на сайт Joomla, для просмотра документа в любом браузере.
не вставлять для просмотра не нужно - нужно только, чтобы корректно пользователь мог сохранять....
Записан
Gosha5767
Завсегдатай
*****

Репутация: +20/-0
Online Online

Пол: Мужской
Сообщений: 412



« Ответ #3 : 09.07.2015, 11:39:05 »

Такой вариант:
Можно закачать файл  Excel (.xls) в папку images (через хостинг или FTP)
Выставить на странице ссылку на файл и пользователь свободно скачает файл
Записан
robert
Профи
********

Репутация: +343/-11
Offline Offline

Пол: Мужской
Сообщений: 3567


« Ответ #4 : 09.07.2015, 12:01:57 »

Gosha5767, прочитайте тему перед тем, как ответить: ТС формирует файл динамически, а не закачивает offline файл на сервер.
ycc, попробуйте менять headers
Код
application/x-unknown
Хотя, похоже, что проблема в кодировке.

P.S. Еще, попробуйте очистить буфер перед сохранением:
Код
$objWriter=PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel2007');
ob_end_clean();
$objWriter->save('php://output');
 
« Последнее редактирование: 09.07.2015, 12:29:34 от robert » Записан
ycc
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 18


« Ответ #5 : 10.07.2015, 08:29:58 »

Gosha5767, прочитайте тему перед тем, как ответить: ТС формирует файл динамически, а не закачивает offline файл на сервер.
ycc, попробуйте менять headers
Код
application/x-unknown
Хотя, похоже, что проблема в кодировке.

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

Репутация: +69/-3
Offline Offline

Пол: Мужской
Сообщений: 829



« Ответ #6 : 10.07.2015, 10:49:13 »

В Classes/PHPExcel/Reader/Excel2007.php насколько помню можно кодировку выставить. Поиграйтесь с ней. В какой кодировке сам файл с кодом? Ну и mb_convert_encoding ('Бла-бла-бла' ,"UTF-8" , "Windows-1251" ) попробуйте.
Записан
ycc
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 18


« Ответ #7 : 10.07.2015, 13:31:01 »

В Classes/PHPExcel/Reader/Excel2007.php насколько помню можно кодировку выставить. Поиграйтесь с ней. В какой кодировке сам файл с кодом? Ну и mb_convert_encoding ('Бла-бла-бла' ,"UTF-8" , "Windows-1251" ) попробуйте.
что-то не нашел в Excel2007.php параметров для указания кодировки:
Показать текстовый блок
Записан
ycc
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 18


« Ответ #8 : 10.07.2015, 13:34:41 »

подскажите, где использовать mb_convert_encoding ('Бла-бла-бла' ,"UTF-8" , "Windows-1251" )
Записан
passer
Живу я здесь
******

Репутация: +69/-3
Offline Offline

Пол: Мужской
Сообщений: 829



« Ответ #9 : 10.07.2015, 14:02:03 »

что-то не нашел в Excel2007.php параметров для указания кодировки:
Ну может изменилось что. Давно было. Переменная была что-то вроде $codepage= 'CP1251';  или $pagecode = 'CP1251';
подскажите, где использовать mb_convert_encoding ('Бла-бла-бла' ,"UTF-8" , "Windows-1251" )
Код
$active_sheet->setCellValue('A2',mb_convert_encoding ('Компьютеы и комплектующие на любой вкус и цвет' ,"UTF-8" , "Windows-1251" ));
Записан
ycc
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 18


« Ответ #10 : 13.07.2015, 15:13:50 »

Ну может изменилось что. Давно было. Переменная была что-то вроде $codepage= 'CP1251';  или $pagecode = 'CP1251';
Код
$active_sheet->setCellValue('A2',mb_convert_encoding ('Компьютеы и комплектующие на любой вкус и цвет' ,"UTF-8" , "Windows-1251" ));
переменная есть, но в Excel5, в Excel2007 её нет, mb_convert_encoding также не помогло...
Записан
ycc
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 18


« Ответ #11 : 14.07.2015, 08:16:02 »

Если я вывод заголовков делаю вначале файла, то файл формируется с нужной таблицей, но помимо этого еще куча заголовков, которые мне-то и не нужны, т.е. получается ексель обработал тег table.
Записан
ycc
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 18


« Ответ #12 : 15.07.2015, 13: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?
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet