Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Excel-To-Php: вывод *.xls средствами php в html 
:(
    Опции темы
Zmiuko
  Дата 3.2.2010, 00:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


http://zmiuko.ru
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 8.10.2008

Репутация: нет
Всего: 2



Ребят, проблема вот в чем. Мне необходимо вывести файл *.xls в html-таблицу.

Пробовал и phpExcelReader. Но проблема упирается в отсутствии возможности работы с PEAR.
Пробовал и PHP Excel parser pro 4.5. Но никак не осилю с помощью него мало-мальски нормальную таблицу вывести: примеров практически ноль.
Пробовал и Excel Explorer v2.3 Pro. Проблема в том, что скрипт очень стар, весь сыпется, проще осилить PHP Excel parser pro 4.5.
Пробовал и php excel reader 2.21 . исправил проблему is deprecated . Исправил много ошибок связанных с указанием классов. Но не понимает русской кодировки и книг в Excel.

Нашел реализацию модуля прайс-листов для Joomla http://joomlaforum.ru/index.php/topic,99100.0.htmldemo представлено на http://yarbb.ru/index.php?option=com_excel...=1&prslst=1 . Но никак не могу осилить: переписать модуль под свой сайтик.

Помогите с реализацией модуля прайс-листов, хотя бы с последним скриптом. С Joomla просто никогда не сталкивался. Спасибо заранее.
PM MAIL WWW ICQ Skype Jabber   Вверх
comtat
Дата 3.2.2010, 00:58 (ссылка) |  (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1310
Регистрация: 2.5.2006
Где: Россия, Казань

Репутация: нет
Всего: 71



Цитата(Zmiuko @  3.2.2010,  00:50 Найти цитируемый пост)
Пробовал и php excel reader 2.21 . исправил проблему is deprecated . Исправил много ошибок связанных с указанием классов. Но не понимает русской кодировки и книг в Excel.

Использовал и никаких проблем не было..
А насчет кодировки то это 
Код

$data = new Spreadsheet_Excel_Reader();
$data->setOutputEncoding('windows-1251');



--------------------
Рожденный в СССР !!!
ExtJS - мой фреймворк 
PM   Вверх
Zmiuko
Дата 3.2.2010, 00:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


http://zmiuko.ru
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 8.10.2008

Репутация: нет
Всего: 2



Но книги, то есть листы данный класс не выводит?

Добавлено через 5 минут и 17 секунд
Не помогает указание var $_defaultEncoding = "windows-1251"; , вывод:    ñåðåáðî, ñåðûé

Добавлено через 7 минут и 55 секунд
Вместо серебро, серый выводит ñåðåáðî, ñåðûé 
PM MAIL WWW ICQ Skype Jabber   Вверх
comtat
Дата 3.2.2010, 01:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1310
Регистрация: 2.5.2006
Где: Россия, Казань

Репутация: нет
Всего: 71



Цитата(Zmiuko @  3.2.2010,  00:59 Найти цитируемый пост)
Но книги, то есть листы данный класс не выводит? 

Не может такого быть..
Код

$data = new Spreadsheet_Excel_Reader();
$data->setOutputEncoding('windows-1251');
$data->read("example.xls");
$errorLog = array();

for($sheet=0; $sheet < count($data->sheets); $sheet++){
    echo '<b>List #'.$sheet.'</b><br />';
    foreach($data->sheets[$sheet]['cells'] as $cell){
        echo $cell[1].'<br />';    
    }
}

Если есть необходимость могу прислать все целиком


--------------------
Рожденный в СССР !!!
ExtJS - мой фреймворк 
PM   Вверх
Zmiuko
Дата 3.2.2010, 01:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


http://zmiuko.ru
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 8.10.2008

Репутация: нет
Всего: 2



Буду признателен. Пришли пожалуйста. Может использую не ту версию или код класса уже испортил.
PM MAIL WWW ICQ Skype Jabber   Вверх
comtat
Дата 3.2.2010, 01:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1310
Регистрация: 2.5.2006
Где: Россия, Казань

Репутация: нет
Всего: 71



Сам реадер взял отсюда

Присоединённый файл ( Кол-во скачиваний: 172 )
Присоединённый файл  test.zip 22,87 Kb


--------------------
Рожденный в СССР !!!
ExtJS - мой фреймворк 
PM   Вверх
Zmiuko
Дата 3.2.2010, 01:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


http://zmiuko.ru
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 8.10.2008

Репутация: нет
Всего: 2



Большое спасибо. 

Кстати, у меня php 5.3 и выходили ошибки:

Deprecated: Assigning the return value of new by reference is deprecated in Z:\home\javagrid\www\php-excel-reader-2.21\excel_reader2.php on line 916

Deprecated: Function split() is deprecated in Z:\home\javagrid\www\php-excel-reader-2.21\excel_reader2.php on line 844


Правильно ли я разрешил проблему исправив split() на explode() и изменив в строке 916 $this->_ole =& new OLERead(); =& new на = new ?
PM MAIL WWW ICQ Skype Jabber   Вверх
katie
Дата 16.3.2010, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 16.3.2010

Репутация: нет
Всего: нет



Никто не может скинуть саму либу Spreadsheet/Excel/Reader/ из пакета PEAR? Я так понял они её больше не поддерживают. По крайней мере я не смог найти. Может конечно я идиот.. 

Заранее огромное спасибо!
PM MAIL   Вверх
nerezus
Дата 16.3.2010, 15:50 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: нет
Всего: 43



Код

<?

header('Content-Type: text/html; charset=windows-1251');
header('P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"');
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', FALSE);
header('Pragma: no-cache');
header('Content-transfer-encoding: binary');
header('Content-Disposition: attachment; filename=1.xls');
header('Content-Type: application/x-unknown');

?>
<table>
    <tr>
        <td>жожо</td>
        <td>бебебе</td>
    </tr>
    <tr>
        <td>o_O</td>
        <td>=)</td>
    </tr>
</table>



--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
sarmano
Дата 4.4.2010, 01:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 4.4.2010

Репутация: нет
Всего: нет



comtat, не мог бы подсказать по твоему примеру, как сделать вывод через

Цитата

echo $data->dump($row_numbers=false,$col_letters=false,$sheet=0,$table_class='');


Попробовал твой файл все выводит на русском, но в этом примере нет, крякозябры только.
:(
PM MAIL   Вверх
companerob
Дата 6.5.2010, 09:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 6.5.2010

Репутация: нет
Всего: нет



sarmano, Там какойто косяк в самой функции dump. Строка 635 в excel_reader2.php -  $val = htmlentities($val); закоменть ее и все работает.
PM MAIL   Вверх
varona
Дата 29.7.2010, 11:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 29.7.2010

Репутация: нет
Всего: нет



в программировании полный новичёк, подскажите:
так и не понял, как сделать чтобы кирилица поддерживалась.
и ещё вопрос, можно ли проводить поиск по строкам в полученном html файле

Более подробно:
есть таблица ексель, с позициями прайс листа, необходимо что бы он выводился по клику в меню и по этому прайсу производился поиск.
спасибо.

Это сообщение отредактировал(а) varona - 29.7.2010, 12:05
PM MAIL   Вверх
boodi
Дата 20.10.2010, 14:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 20.10.2008

Репутация: нет
Всего: нет



PHPExcell - с кириллицей отлично работает...
PM MAIL   Вверх
Edka23
Дата 12.10.2012, 22:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 12.10.2012

Репутация: нет
Всего: нет



Цитата(Zmiuko @ 3.2.2010,  01:25)
Большое спасибо. 

Кстати, у меня php 5.3 и выходили ошибки:

Deprecated: Assigning the return value of new by reference is deprecated in Z:\home\javagrid\www\php-excel-reader-2.21\excel_reader2.php on line 916

Deprecated: Function split() is deprecated in Z:\home\javagrid\www\php-excel-reader-2.21\excel_reader2.php on line 844


Правильно ли я разрешил проблему исправив split() на explode() и изменив в строке 916 $this->_ole =& new OLERead(); =& new на = new ?

Совершенно верно сделано новые версии php отказались от таких функций и такого синтаксиса для создания нового объекта.
Помогите решить проблемы:
1 Как заставить этот скрипт читать не только .xls старых версий оффиса но и новых 2007 -2010 которые сохраняют фаилы с расширение .xlsx они на много меньше весят это экономит трафик и загрузку страници.
2 не могу понять в чем проблема если скачиваю с сайта документ например .xls а потом его редактиру и если нажимать не на сохранить прост, а через сохранить как и там даже если выбрать версию 97-2003 то скрипт не может прочитать документ пишет что докумен такой не сог прочитать The filename price/mano.xls is not readable.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Libraries | Следующая тема »


 




[ Время генерации скрипта: 0.0962 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.