URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 1219
[ Назад ]

Исходное сообщение
"Каталог Программ: Spreadsheet::ParseExcel - perl модуль для работы с XLS файлами любой версии."

Отправлено auto_prog , 12-Ноя-02 16:08 
Модуль позволяет получить значение любой ячейки и столбца их XLS файла, что очень удобно при автоматическом парсинге различных прайсов.
Для желающих создавать XLS файлы предназначен модуль <a href="http://search.cpan.org/search?dist=Spreadsheet-WriteExcel&qu....
Оба модуля требуют для своей работы библиотеку <a href="http://search.cpan.org/search?dist=OLE-Storage_Lite">....


URL: http://search.cpan.org/search?dist=Spreadsheet-ParseExcel http://member.nifty.ne.jp/hippo2000/
Обсуждается: http://www.opennet.me/prog/info/950.shtml


Содержание

Сообщения в этом обсуждении
"SpreadsheetParseExcel - perl модуль для работы с XLS файлами любой версии."
Отправлено Lev V. , 12-Ноя-02 16:08 
Никто никогда не пробовал почитать таблички, если записи в них на русском? Я что-то никак разобраться не могу, как мне от каракуль избавиться и получить нормальный текст. Если кто подскажет, да еще и с примерами - пиво при встрече.
Другими словами - очень прошу помощи.

"SpreadsheetParseExcel - perl модуль для работы с XLS файлами..."
Отправлено Иван , 26-Мрт-08 14:58 
Я нашёл такое решение. Когда Вам модуль возвращает значения ячеек, просто перекодируйте их в cp1251:

use Spreadsheet::ParseExcel;
use Encode qw(encode decode is_utf8);


#... текст программы


$oWkC = $oWkS->{Cells}[1][1]; # получаем данные

$string = encode('cp1251', $oWkC->Value); # конверитруем utf8 в cp1251 ;-)


и всё!

Работает с Perl 5.6.x и 5.8.x


"Spreadsheet::ParseExcel - perl модуль для работы с XLS файлами любой версии."
Отправлено Аноним , 15-Ноя-02 15:33 
Это так делается:
my $oExcel = new Spreadsheet::ParseExcel;
my $oFmtR = Spreadsheet::ParseExcel::FmtUnicode->new(Unicode_Map => "CP1251");
my $oBook = $oExcel->Parse('price.xls', $oFmtR);


"Spreadsheet::ParseExcel - perl модуль для работы с XLS файла..."
Отправлено Zergling , 25-Мрт-03 17:27 
>Это так делается:
>my $oExcel = new Spreadsheet::ParseExcel;
>my $oFmtR = Spreadsheet::ParseExcel::FmtUnicode->new(Unicode_Map => "CP1251");
>my $oBook = $oExcel->Parse('price.xls', $oFmtR);

млин
вот что выдает когда вставляешь 2 сточку :(
Undefined subroutine &Spreadsheet::ParseExcel::FmtUnicode called at ./parse_xls.pl line 7
че не так ????


"Spreadsheet::ParseExcel - perl модуль для работы с XLS файла..."
Отправлено hell , 17-Июл-03 09:32 
В поставке файлик идет - FmtUnicode.pm

тебе его и надо подключить, как я понимаю


"Spreadsheet::ParseExcel - perl модуль для работы с XLS файла..."
Отправлено Nick , 02-Авг-04 16:56 
Думаю Вам просто надо поставить cpan модуль:
Unicode-Map

"Spreadsheet::ParseExcel - perl модуль для работы с XLS файла..."
Отправлено IlVin , 08-Сен-07 14:45 
Скорее всего чел забыл сказать
use Spreadsheet::ParseExcel::FmtUnicode;

"Spreadsheet::ParseExcel - perl модуль для работы с XLS файла..."
Отправлено SK , 11-Апр-07 19:32 
Странно, но у меня все равно закорючки вместо Руссского, хотя вся сделал как сказано и unicode-map у меня стоит

"CP1251 -> Unicode"
Отправлено Bierck , 16-Авг-04 14:18 
А как, собственно, записать данные СР1251 в экселевый файл, чтоб корректно отображался русский?

"Spreadsheet::ParseExcel - perl модуль для работы с XLS файлами любой версии."
Отправлено Tropin , 04-Окт-04 14:13 
пример кода:
#---
use strict;
use Spreadsheet::WriteExcel;
my $workbook = Spreadsheet::WriteExcel->new("regions.xls");
my $worksheet = $workbook->add_worksheet('Spisok');
my $format = $workbook->add_format();
$format->set_bold();
$worksheet->write(0, 1, 'Привет!');
#---
1. Почему ячейки по-умолчанию имеют границы? (то есть "A1" и "B1") и можно-ли задать формат по-умолчанию, чтоб не было никаких бордеров?

2. Как применить формат не для ячейки, а для Range (группы ячеек)?

"Spreadsheet::ParseExcel - perl модуль для работы с XLS файлами любой версии."
Отправлено GoRo , 07-Фев-05 19:00 
Подскажите пожалуйста как достать саму формулу, а не результат ее вычислений?

"Spreadsheet::ParseExcel - perl модуль для работы с XLS файлами любой версии."
Отправлено island , 18-Окт-06 10:00 
юзаю Spreadsheet::ParseExcel для чтения xls
текст читается (и русский тоже), а вот числа - нет. например, вместо "28,049785" читается "2..0 р .", вместо 28,12247 читается "2..1 р ."
как побороть?

спасибо