Chinaunix首页 | 论坛 | 博客
  • 博客访问: 488170
  • 博文数量: 279
  • 博客积分: 4467
  • 博客等级: 上校
  • 技术积分: 2830
  • 用 户 组: 普通用户
  • 注册时间: 2007-04-03 14:43
文章分类

全部博文(279)

文章存档

2013年(1)

2012年(39)

2011年(35)

2009年(29)

2008年(131)

2007年(44)

分类:

2008-01-22 16:12:31

 Spreadsheet::ParseExcel
perl解析Excel文件的例子。


#!/usr/bin/perl -w



use strict; 

use Spreadsheet::ParseExcel; 

use Spreadsheet::ParseExcel::FmtUnicode; #gb support



my $oExcel = new Spreadsheet::ParseExcel; 



die "You must provide a filename to $0 to be parsed as an Excel file" unless @ARGV; 

my $code = $ARGV[1] || "CP936"; #gb support

my $oFmtJ = Spreadsheet::ParseExcel::FmtUnicode->;new(Unicode_Map =>; $code); #gb support

my $oBook = $oExcel->;Parse($ARGV[0], $oFmtJ); 

my($iR, $iC, $oWkS, $oWkC); 

print "FILE  :", $oBook->;{File} , "\n"; 

print "COUNT :", $oBook->;{SheetCount} , "\n"; 



print "AUTHOR:", $oBook->;{Author} , "\n" 

if defined $oBook->;{Author}; 



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); 

  } 



}

阅读(450) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~