<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=x-euc-jp">
<title></title>
</head>
<body bgcolor="#00FFFF">
<pre>Speadsheet::ParseExcel.pm - 0.2405
by Àî¹ç¹§Åµ (Hippo2000)
¹¹¿·ÍúÎò¤ÏChanges¤ò¤´Í÷¤¯¤À¤µ¤¤
³µÍ×
¤³¤Î¥â¥¸¥å¡¼¥ë¤Ï¡¢¤Þ¤À¦Á¥Ð¡¼¥¸¥ç¥ó¤Ç¤¹¡£
Microsoft¼Ò¤ÎExcel¥Õ¥¡¥¤¥ë¤òWindows°Ê³°¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤â¾ðÊó¤ò¼è¤ê
½Ð¤¹¤è¤¦¤Ë¤¹¤ë¥â¥¸¥å¡¼¥ë¤Ç¤¹¡£
Æ°ºî³Îǧ
DOS/V WindowsNT ver.4.0 Perl5.005
DOS/V TurboLinux ver.6.0 Perl5.005
Sun Sparc Solaris 2.6 Perl5.005
DOS/V Vine Linux 2.0 Perl5.005
Macintosh JPerl¡¢FreeBSD¤Ç¤âÆ°¤¤¤Æ¤¤¤ë¤È¤¤¤¦¥ì¥Ý¡¼¥È¤ò¤¤¤¿¤À¤¤¤Æ¤¤¤Þ¤¹
¤½¤Î¾¤Î´Ä¶¤Ç¼Â¹Ô¤µ¤ì¤¿Êý¤Ï¡¢¶µ¤¨¤Æ¤¯¤À¤µ¤¤¡£
Æ°¤¤¤Æ¤âÆ°¤«¤Ê¤¯¤Æ¤â¡¢¤´¶¨ÎϤè¤í¤·¤¯¤ª´ê¤¤¤·¤Þ¤¹¡£ <(__)>
´Êñ¤Ê³Îǧ(test¥Ç¥£¥ì¥¯¥È¥ê¡Ë
sample¥Ç¥£¥ì¥¯¥È¥ê¤Ë°Ê²¼¤Î¥Õ¥¡¥¤¥ë¤¬Æþ¤Ã¤Æ¤¤¤Þ¤¹¡§
sample.pl ¡§´Êñ¤Ê¥Æ¥¹¥È¥¹¥¯¥ê¥×¥È¡ÊSpreadsheet::ParseExcel::FmtDefault¤ò»ÈÍÑ¡Ë
sample_j.pl ¡§´Êñ¤Ê¥Æ¥¹¥È¥¹¥¯¥ê¥×¥È¡ÊSpreadsheet::ParseExcel::FmtJapan¤ò»ÈÍÑ¡¢¥³¡¼¥É¤ò»ØÄꤷ¤Æ½ÐÎÏ¡Ë
res_sample ¡§sample.pl¤Î¼Â¹Ô·ë²Ì
res_sample_j¡§sample_j.pl¤Î¼Â¹Ô·ë²Ì(euc)
dmpEx.pl : Excel¥Õ¥¡¥¤¥ë¤ÎÆâÍƤòɽ¼¨¤¹¤ë¡ÊSpreadsheet::ParseExcel::FmtDefault¤ò»ÈÍÑ¡Ë
dmpExj.pl : Excel¥Õ¥¡¥¤¥ë¤ÎÆâÍƤòɽ¼¨¤¹¤ë¡ÊSpreadsheet::ParseExcel::FmtJapan¤ò»ÈÍÑ¡Ë
´Êñ¤Ë¤³¤Î¥â¥¸¥å¡¼¥ë¤ÎÆ°¤¤ò³Îǧ¤·¤¿¤¤¤À¤±¤Ç¤¢¤ì¤Ð¡¢dmpExj.pl¤Ë¤è¤Ã¤Æ
»ØÄꤷ¤¿Excel¥Õ¥¡¥¤¥ë¤ÎÆâÍƤòɽ¼¨¤µ¤»¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
ex.
# perl -I.. dmpExj.pl Excel/Test97.xls euc
¡Ö-I..¡×¤Ï¡¢¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ëSpreadsheet::ParseExcel.pm¤òÍøÍѤ¹¤ë¤¿¤á¤Ë»ØÄꤷ¤Þ¤¹¡£
¡ÖExcel/Test97.xls¡×¤ÏÂоݤȤʤë¥Õ¥¡¥¤¥ë̾¡£
¡Öeuc¡×¤Ï´Á»ú¤ò½ÐÎϤ¹¤ë¤È¤¤Îʸ»ú¥³¡¼¥É¤Ç¤¹¡£euc¡¢sjis¡¢jis¤Ê¤É
Jcode.pm¤ÈƱ¤¸¤Ç¤¹¡£
¥¤¥ó¥¹¥È¡¼¥ë
OLE::Storage_Lite¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
¡¡Spreadsheet::ParseExcel::FmtJapan¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢Jcode.pm¤òɬÍפȤ·¤Þ¤¹¡£¡Ê¾¤Î¥â¥¸¥å¡¼¥ë¤òɬÍפȤ·¤Þ¤»¤ó¡£¡Ë
¡¡Spreadsheet::ParseExcel::FmtJapan2¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢Jcode.pm¡¢Unicode::Map¤òɬÍפȤ·¤Þ¤¹¡£
¡¡Perl¤Îɸ½àŪ¤Ê¥¤¥ó¥¹¥È¡¼¥ë¤Ë¤Ê¤ê¤Þ¤·¤¿¡£¤³¤Î¥â¥¸¥å¡¼¥ë¼«ÂΤÏPerl¤Î¤ß¤ÇºîÀ®¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢¥³¥Ô¡¼¤¹¤ë¤À¤±¤Ç¤âÆ°¤¤Þ¤¹¡£</pre>
<pre> perl Makefile.PL
make
make test
make install (root¤Ë¤Ê¤Ã¤Æ¡Ë
</pre>
<pre>FmtJapan2¤Î¤¿¤á¤Ë</pre>
<pre> µ¡¼ï°Í¸ʸ»ú¤ËÂбþ¤¹¤ë¤¿¤á¤ÎFmtJapan2¤ò0.09¤«¤éƱº¤·¤Þ¤¹¡£
ÍøÍѤ¹¤ë¤¿¤á¤Ë¤ÏUnicode::Map¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Û¤«¡¢°Ê²¼¤Î¼ê½ç¤¬É¬Íפˤʤê¤Þ¤¹¡§</pre>
<pre> (1) Ʊº¤µ¤ì¤ë"CP932Excel.map"¤òŬÀڤʥǥ£¥ì¥¯¥È¥ê¤Ë¥³¥Ô¡¼¤·¤Þ¤¹¡£</pre>
<pre> (2) "CP932Excel"¤ò¥Þ¥Ã¥×̾¤È¤·¤ÆÄɲ乤뤿¤á¤Ë¡¢Unicode::Map³¬Áؤˤ¢¤ëREGISTRY¤Ë°Ê²¼¤Î¹Ô¤òÄɲä·¤Þ¤¹¡£
¡Êmap¤Î¥Ç¥£¥ì¥¯¥È¥ê̾¤ÏŬÀڤʥǥ£¥ì¥¯¥È¥ê̾¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡Ë</pre>
<pre>name: CP932Excel
srcURL: $SrcUnicode/VENDORS/MICSFT/WINDOWS/CP932.TXT
src: $DestUnicode/VENDORS/MICSFT/WINDOWS/CP932.TXT
map: (¥³¥Ô¡¼Àè¤Î¥Ç¥£¥ì¥¯¥È¥ê)/CP932Excel.map
# Don't remove this line</pre>
<pre>»È¤¤Êý
use strict;
use Spreadsheet::ParseExcel;
my $oExcel = new Spreadsheet::ParseExcel;
my $oBook = $oExcel->Parse('Excel/Test97.xls');
#¤Þ¤¿¤ÏÆüËܸìÂбþ¤Ç¤Ï
use strict;
use Spreadsheet::ParseExcel;
use Spreadsheet::ParseExcel::FmtJapan;
my $oExcel = new Spreadsheet::ParseExcel;
my $oFmtJ = Spreadsheet::ParseExcel::FmtJapan->new(Code => 'euc'); #sjis¡¢jis¤Ê¤É¤Î¥³¡¼¥É
my $oBook = $oExcel->Parse('Excel/Test97.xls', $oFmtJ);
</pre>
<pre> #¾ðÊó¤Î¼è¤ê½Ð¤·Îã
my($iR, $iC, $oWkS, $oWkC);
print "FILE :", $oBook->{File} , "\n";
print "COUNT :", $oBook->{SheetCount} , "\n";
print "AUTHOR:", $oBook->{Author} , "\n";
for(my $iSheet=0; $iSheet < $oBook->{SheetCount} ; $iSheet++) {
$oWkS = $oBook->{Worksheet}[$iSheet];
print "--------- SHEET:", $oWkS->{Name}, "\n";
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, "\n" if($oWkC);
}
}
}
ÌäÂêÅÀ¡¦¥Ð¥°</pre>
<pre>ºÇÂç¤ÎÌäÂêÅÀ¤Ç¤¢¤Ã¤¿¡ÖExce97 ¥Ç¥Ù¥í¥Ã¥Ñ¡¼¥º ¥¥Ã¥È¡×¤¬¼ê¤ËÆþ¤ê¤Þ¤·¤¿¡£
¤¿¤À¤¿¤ÀHirofumi Morisada¤µ¤ó¤Ë´¶¼Õ¡¢´¶¼Õ¤Ç¤¹¡£
</pre>
<pre> Excel97/2000¤ÇÊݸ¤·¤¿¾ì¹ç¡¢FmtJapan¤Ç¤Ïµ¡¼ï°Í¸ʸ»ú¡Ê(³ô)¤ä¥í¡¼¥Þ¿ô»ú¤ÎI¤Ê¤É¡Ë¤¬¢®¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
FmtJapan2¤Ç¤Ï°ì±þÂбþ¤·¤Æ¤¤¤ë¤Ä¤â¤ê¤Ç¤¹¡£</pre>
<pre> ¤Þ¤À¥Æ¥¹¥È¤â¤Á¤ã¤ó¤È¤Ç¤¤Æ¤¤¤Þ¤»¤ó¡£¤È¤ê¤¢¤¨¤º¤ÏÆ°¤¯¤Ç¤·¤ç¤¦¡£ <(__)>
TurboLinux Version 6¤ÇºîÀ®¤·¤Æ¤¤¤ë¤Î¤Ç¡¢Â¾¤Î´Ä¶¤Ç¤É¤¦¤Ê¤ë¤Î¤«¤È¤Æ¤âµ¤¤Ë
¤Ê¤ê¤Þ¤¹¡£
Solaris¤Ç¤ÏÆ°ºî³Îǧ¤ò¤·¤Æ¤â¤é¤¤¤Þ¤·¤¿¡£¡Ê¤Þ¤ÀÉÔ¶ñ¹ç¤¬¤¢¤ê¤½¤¦¤Ç¤¹¤¬¡Ë
¥³¥á¥ó¥È¡¢¥Ð¥°¥ì¥Ý¡¼¥È¤ò¤ªÂÔ¤Á¤·¤Æ¤¤¤Þ¤¹ Àî¹ç¹§Åµ¡§kwitknr@cpn.org
¤ä¤é¤Ê¤¤ã¤¤¤±¤Ê¤¤¤³¤È¡§
¥Æ¥¹¥È¡ª
¥É¥¥å¥á¥ó¥È¤ÎÀ°È÷
½ÐÎϤؤÎÂбþ (^_^) Spreadsheet::WriteExcel¤ò»È¤Ã¤Æ¤¤¤¿¤À¤¯¤Î¤¬°ìÈÖ
¤À¤ì¤«¤Þ¤ë¤´¤È°ú¤¤Ä¤¤¤Æ¤¯¤ì¤ë¿Í¤Ï¤¤¤Þ¤»¤ó¤«¡©(^^)
¼Õ¼¡§
¤³¤ó¤ÊȾü¤Ê¾õÂ֤Ǽռ¤â¤¢¤Ã¤¿¤â¤Î¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢°Ê²¼¤Î¥×¥í¥°¥é¥à¡¢
¥â¥¸¥å¡¼¥ë¤ò»²¹Í¤Ë¤µ¤»¤Æ¤¤¤¿¤À¤¤Þ¤·¤¿¡£
xlHtml
OLE::Storage
herbert (OLE::Storage¤ËƱº¤µ¤ì¤ë¥Ä¡¼¥ë¡Ë
Spreadsheet::WriteExcel
Solaris¤Î¥Ç¥Ð¥Ã¥°¤ÏÅçËÜÉð»á¤È»³Ï©½ÕÆव¤ó¤¬¤¤¤Ê¤±¤ì¤Ð¡¢À®Î©¤·¤Þ¤»¤ó¤Ç¤·¤¿¡£(cloudy¤Ë´¶¼Õ¡Ë
¡¡ Ǹ¸ýÀ²Èþ¤µ¤ó¤Ë¤ÏExcel2000¤Î¥Õ¥¡¥¤¥ë¤ò¤¤¤¿¤À¤¤Þ¤·¤¿¡£
Hirofumi Morisada¤µ¤ó¤«¤é¤Î¾ðÊó¤Çʸ»úÎó¤Î¥Ð¥°¤òȯ¸«¡¢½¤Àµ¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤·¤¿¡£
¤½¤·¤Æ¡ÖExcel97¥Ç¥Ù¥í¥Ã¥Ñ¡¼¥º¥¥Ã¥È¡×¤ò¤É¤¦¤â¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤·¤¿¡£
¤½¤Î¾¡¢¤¿¤¯¤µ¤ó¤ÎÊý¤«¤é¤ÎÆ°ºîÊó¹ð¤ä¥Ð¥°¥ì¥Ý¡¼¥È¤ò¤¤¤¿¤À¤´¶¼Õ¡¢´¶¼Õ¤Ç¤¹¡£</pre>
</body>
</html>