Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Тексты > Парсинг из екселя


Автор: korisarimi 28.10.2006, 21:51
Помогите со следующей задачей:

Имеется экселький документ.
Необходимо его каким-нибудь образом внести в страницу.

Какие есть идеи?

Автор: check 28.10.2006, 22:47
"эксельский документ" это обязательно xls-файл, или можно использовать
формат csv?   Если csv, то никаких проблем.  

Автор: korisarimi 29.10.2006, 10:05
эксельский - это xls.
Нужно чтоб заказчик обновлял только xsl файл, и автоматически генерировалась страница  из этого xsl файла.

Опишите хотя бы как это происходит с csv.

Автор: korisarimi 29.10.2006, 13:01
Я понял как нужно извлекать csv...

Вопрос по-другому сформулирую:

Как можно преобразовать xls файл  в csv файл, средствами PHP?

Автор: SelenIT 29.10.2006, 14:37
korisarimi, вроде есть готовый класс http://sourceforge.net/projects/phpexcelreader. Я, правда, сам с ним не работал, поэтому ничего не гарантирую...

Автор: korisarimi 4.11.2006, 22:26
SelenIT,  что-то я не разобрался, как менять кодировку в указанной вами библиотеке?

Автор: -=Ustas=- 5.11.2006, 11:35
Цитата(korisarimi @  4.11.2006,  22:26 Найти цитируемый пост)
SelenIT,  что-то я не разобрался, как менять кодировку в указанной вами библиотеке? 

Код

$data->setOutputEncoding('CP1251');

Автор: korisarimi 5.11.2006, 15:31
Цитата

$data->setOutputEncoding('CP1251');



А какое значение здесь поставить, дабы получить русскую кодировку. что-то типо win1251? Не подошло...

Автор: -=Ustas=- 5.11.2006, 15:37
CP1251 - это и есть виндовая кодировка.

Автор: korisarimi 5.11.2006, 16:02
Я тоже так думаю, но когда эксельский документ состоит только из латинского шрифта, то все работает нормально, а кириллицу не понимает.

Автор: korisarimi 9.11.2006, 18:24
Приведу пример
Код

<?php


require_once 'Excel/reader.php';


// ExcelFile($filename, $encoding);
$data = new Spreadsheet_Excel_Reader();

// Set output Encoding.
$data->setOutputEncoding('cp1251');
iconv(
/***
* if you want you can change 'iconv' to mb_convert_encoding:
* $data->setUTFEncoder('mb');
*
**/


Не могу разобраться, как все-таки поменять кодировку

Автор: emptyby 20.2.2007, 17:14
Посмотри, есть ли у тебя iconv. Как правило, iconv применяется при изменении кодировки.

Автор: helflip 21.2.2007, 10:59
попробуй 
Код

$data->setOutputEncoding('windows-1251');

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)