В Excel посредством Perl
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



В Excel посредством Perl Expand / Collapse
Автор
Сообщение
28.06.2005 16:27
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 28.06.2005 16:27
Сообщ.: 1, Visits: 12
Кто знает как Перлом записать некотрые данные в excel, таблицу а потом сохранитиь ёё в файл? выкладывайте статьи(русскоязычные) или исходники
Сообщ. #873669
29.06.2005 10:40
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 13.07.2006 17:05
Сообщ.: 124, Visits: 1 356
http://homepage.eircom.net/~jmcnamara/perl/PerlExcelFaq.html
тут примеры кода.

Как работать с файлами Excel?:
Вы можете использовать для работы с Excel-файлами два модуля:

Spreadsheet::WriteExcel - http://search.cpan.org/doc/JMCNAMARA/Spreadsheet-WriteExcel-0.33/WriteExcel.pm
(Spreadsheet-WriteExcel при установке через PPM для ActivePerl)
- для записи в Excel-файлы.

Пример записи:

use Spreadsheet::WriteExcel;
$row1 = $col1 = 0;
$row2 = 1;
$row3 = 2;
my $workbook = Spreadsheet::WriteExcel->new("perl.xls");
$worksheet = $workbook->addworksheet();
$format = $workbook->addformat();

$format->set_bold();
$format->set_color('red');
$format->set_align('center');
$worksheet->write($row1, $col1, "Привет, Excel!");
$worksheet->write($row2, $col1, 1.2345);
$worksheet->write($row3, $col1, "Привет, Excel!", $format);

и

Spreadsheet::ParseExcel - http://search.cpan.org/doc/KWITKNR/Spreadsheet-ParseExcel-0.2403/ParseExcel.pm
(Spreadsheet-ParseExcel при установке через PPM для ActivePerl)
- для получения информации из Excel95, Excel97, Excel2000 файлов

Пример чтения данных:

use strict;
use Spreadsheet::ParseExcel;
my $oExcel = new Spreadsheet::ParseExcel;

#1.1 Normal Excel97
my $oBook = $oExcel->Parse('perl.xls');
my($iR, $iC, $oWkS, $oWkC);
print "FILE :", $oBook->{File} , "";
print "COUNT :", $oBook->{SheetCount} , "";
print "AUTHOR:", $oBook->{Author} , "";
for(my $iSheet=0; $iSheet < $oBook->{SheetCount} ; $iSheet++) {
$oWkS = $oBook->{Worksheet}[$iSheet];
print "--------- SHEET:", $oWkS->{Name}, "";
for(my $iR = $oWkS->{MinRow} ;
defined $oWkS->{MaxRow} && $iR <= $oWkS->{MaxRow} ; $iR++) {
for(my $iC = $oWkS->{MinCol} ;
defined $oWkS->{MaxCol} && $iC <= $oWkS->{MaxCol} ; $iC++) {
$oWkC = $oWkS->{Cells}[$iR][$iC];
print "( $iR , $iC ) =>", $oWkC->Value, "" if($oWkC);
}
}
}

Для работы этих модулей потребуются:

* IO::Stringy (IO-stringy для PPM ActivePerl) - точнее IO::Scalar, который туда входит
* OLE::Starage_Lite (OLE-Starage_Lite для PPM ActivePerl)
* IO::Handle входит в IO
* IO::File входит в IO

М.б вам понадобяться и

* Jcode.pm (if you are using FmtJapan, or FmtJapan2)
* Unicode::Map (if you are using FmtJapan2 or FmtUnicode)


PerlMonks.Org.Ru.... coming soon
Сообщ. #873751
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.
Модераторы: Alexey, boombastik, bazile, pl

Время GMT +3:00, Сейчас 8:47