﻿<?xml version='1.0' encoding='UTF-8'?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Релиб / Веб-программирование / Perl  / В Excel посредством Perl / Latest Posts</title><generator>InstantForum.NET v4.1.4</generator><description>Релиб</description><link>http://www.relib.com/forums/</link><webMaster>robot@relib.com</webMaster><lastBuildDate>Sat, 22 Nov 2008 20:47:11 GMT</lastBuildDate><ttl>20</ttl><item><title>RE: В Excel посредством Perl</title><link>http://www.relib.com/forums/Topic873669-18-1.aspx</link><description>http://homepage.eircom.net/~jmcnamara/perl/PerlExcelFaq.htmlтут примеры кода.[code]Как работать с файлами 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-&amp;gt;new(&amp;quot;perl.xls&amp;quot;);$worksheet   = $workbook-&amp;gt;addworksheet();$format      = $workbook-&amp;gt;addformat();$format-&amp;gt;set_bold();$format-&amp;gt;set_color('red');$format-&amp;gt;set_align('center');$worksheet-&amp;gt;write($row1, $col1, &amp;quot;Привет, Excel!&amp;quot;);$worksheet-&amp;gt;write($row2, $col1, 1.2345);$worksheet-&amp;gt;write($row3, $col1, &amp;quot;Привет, Excel!&amp;quot;, $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 Excel97my $oBook = $oExcel-&amp;gt;Parse('perl.xls');my($iR, $iC, $oWkS, $oWkC);print &amp;quot;FILE  :&amp;quot;, $oBook-&amp;gt;{File} , &amp;quot;&lt;br&gt;&amp;quot;;print &amp;quot;COUNT :&amp;quot;, $oBook-&amp;gt;{SheetCount} , &amp;quot;&lt;br&gt;&amp;quot;;print &amp;quot;AUTHOR:&amp;quot;, $oBook-&amp;gt;{Author} , &amp;quot;&lt;br&gt;&amp;quot;;for(my $iSheet=0; $iSheet &amp;lt; $oBook-&amp;gt;{SheetCount} ; $iSheet++) {  $oWkS = $oBook-&amp;gt;{Worksheet}[$iSheet];  print &amp;quot;--------- SHEET:&amp;quot;, $oWkS-&amp;gt;{Name}, &amp;quot;&lt;br&gt;&amp;quot;;  for(my $iR = $oWkS-&amp;gt;{MinRow} ;      defined $oWkS-&amp;gt;{MaxRow} &amp;amp;&amp;amp; $iR &amp;lt;= $oWkS-&amp;gt;{MaxRow} ; $iR++) {    for(my $iC = $oWkS-&amp;gt;{MinCol} ;        defined $oWkS-&amp;gt;{MaxCol} &amp;amp;&amp;amp; $iC &amp;lt;= $oWkS-&amp;gt;{MaxCol} ; $iC++) {      $oWkC = $oWkS-&amp;gt;{Cells}[$iR][$iC];      print &amp;quot;( $iR , $iC ) =&amp;gt;&amp;quot;, $oWkC-&amp;gt;Value, &amp;quot;&lt;br&gt;&amp;quot; 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)[/code]</description><pubDate>Wed, 29 Jun 2005 10:40:00 GMT</pubDate><dc:creator>PoizOn</dc:creator></item><item><title>В Excel посредством Perl</title><link>http://www.relib.com/forums/Topic873669-18-1.aspx</link><description>Кто знает как Перлом записать некотрые данные в excel, таблицу а потом сохранитиь ёё в файл? выкладывайте  статьи(русскоязычные) или исходники</description><pubDate>Tue, 28 Jun 2005 16:27:00 GMT</pubDate><dc:creator>d_ef</dc:creator></item></channel></rss>