注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

wangyufeng的博客

祝愿BB 健康开心快乐每一天

 
 
 

日志

 
 

使用perl分析并比较不同excel表格内容  

2010-11-01 13:12:08|  分类: Perl & bioperl |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

#! perl -w
use strict;
use Spreadsheet::ParseExcel;
use Spreadsheet::ParseExcel::FmtUnicode;
my ($source_file,$filter_file) = @ARGV;
open FILE,">out.txt" or die "open target file error!";
die "usage: filter.pl source_file filter_file" unless $source_file;
die "usage: filter.pl source_file filter_file" unless $filter_file;
my $parser = Spreadsheet::ParseExcel->new();
my $oFmtJ = Spreadsheet::ParseExcel::FmtUnicode->new(Unicode_Map => \'CP936\' );
my $workbook_s = $parser->Parse($source_file,$oFmtJ) or die "can\'t parse source file: $!";
my $worksheet_s = ($workbook_s->worksheets())[0] or die "can\'t open sheets: $!";
my $workbook_f = $parser->Parse($filter_file,$oFmtJ) or die "can\'t parse this file: $!";
my $worksheet_f = ($workbook_f->worksheets())[0] or die "can\'t open sheets: $!";
my ( $srow_min, $srow_max ) = $worksheet_s->row_range();
my ( $scol_min, $scol_max ) = $worksheet_s->col_range();
my ( $frow_min, $frow_max ) = $worksheet_f->row_range();
my ( $fcol_min, $fcol_max ) = $worksheet_f->col_range();
my $line;
for my $row ($srow_min .. $srow_max ) {
    my $cell = $worksheet_s->get_cell( $row, 2 );
         if (find_no($cell->value())){
              $line=\'\';
            for my $col ($scol_min .. $scol_max){
               $line .= ($worksheet_s->get_cell( $row, $col )->value()) . \'|\';
            }
            $line =~ s/|$/n/;
           #print $line;
print FILE $line;
         }
}

sub find_no {
   my ($number)=shift @_;
   for my $row ($frow_min .. $frow_max ) {
        my $cell = $worksheet_f->get_cell( $row, 0 );
        #print $number . ":" .($cell->value()) ."n";

      if($number eq $cell->value()){
        return 1;
      }
   }
   return 0;
}


转自:http://www.hcyzs.cn/a/_diannaoweixiuzhuanti_/20100407/402.html
  评论这张
 
阅读(695)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017