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

wangyufeng的博客

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

 
 
 

日志

 
 

如何使用perl操作excel  

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

  下载LOFTER 我的照片书  |
在Linux或者Unix上操作(生成)Excel,怎么说都是比较困难的困难的事情。但是有cpan,困难迎刃而解了!CPAN上提供了Spreadsheet::WriteExcel 和 Spreadsheet::ParseExcel这两个模块。下面我们就来看看 Spreadsheet::WriteExcel 和 Spreadsheet::ParseExcel的使用方法:

1、首先,我们要在服务器上安装相应的模块

安装 Excel 模块的 PPM 命令

Java代码 复制代码
  1. ppm> install OLE::Storage_Lite   
  2. ppm> install Spreadsheet::ParseExcel   
  3. ppm> install Spreadsheet::WriteExcel  
ppm> install OLE::Storage_Lite ppm> install Spreadsheet::ParseExcel ppm> install Spreadsheet::WriteExcel 

 2、使用读取EXCEL文 件:

Ruby代码 复制代码
  1. #!/usr/bin/perl -w   
  2.   
  3.    use strict;   
  4.    use Spreadsheet::ParseExcel;   
  5.   
  6.    my $parser   = Spreadsheet::ParseExcel->new();   
  7.    my $workbook = $parser->Parse('Book1.xls');   
  8.   
  9.    for my $worksheet ( $workbook->worksheets() ) {   
  10.   
  11.        my ( $row_min$row_max ) = $worksheet->row_range();   
  12.        my ( $col_min$col_max ) = $worksheet->col_range();   
  13.   
  14.        for my $row ( $row_min .. $row_max ) {   
  15.            for my $col ( $col_min .. $col_max ) {   
  16.   
  17.                my $cell = $worksheet->get_cell( $row$col );   
  18.                next unless $cell;   
  19.   
  20.                print "Row, Col    = ($row, $col)\n";   
  21.                print "Value       = "$cell->value(),       "\n";   
  22.                print "Unformatted = "$cell->unformatted(), "\n";   
  23.                print "\n";   
  24.            }   
  25.        }   
  26.    }  
 #!/usr/bin/perl -w      use strict;     use Spreadsheet::ParseExcel;      my $parser   = Spreadsheet::ParseExcel->new();     my $workbook = $parser->Parse('Book1.xls');      for my $worksheet ( $workbook->worksheets() ) {          my ( $row_min, $row_max ) = $worksheet->row_range();         my ( $col_min, $col_max ) = $worksheet->col_range();          for my $row ( $row_min .. $row_max ) {             for my $col ( $col_min .. $col_max ) {                  my $cell = $worksheet->get_cell( $row, $col );                 next unless $cell;                  print "Row, Col    = ($row, $col)\n";                 print "Value       = ", $cell->value(),       "\n";                 print "Unformatted = ", $cell->unformatted(), "\n";                 print "\n";             }         }     }

 3、生成EXCEL文 件:

 

Ruby代码 复制代码
  1. #!/usr/bin/perl -w   
  2.   
  3. use Spreadsheet::WriteExcel;   
  4.   
  5.  # 创建一个新的EXCEL文件   
  6.  my $workbook = Spreadsheet::WriteExcel->new('test.xls');   
  7.   
  8.  # 添加一个工作表   
  9.  $worksheet = $workbook->add_worksheet();   
  10.   
  11.  #  新建一个样式   
  12.  $format = $workbook->add_format(); # Add a format   
  13.  $format->set_bold();#设置字体为粗体   
  14.  $format->set_color('red');#设置单元格前景色为红色   
  15.  $format->set_align('center');#设置单元格居中   
  16.   
  17. #使用行号及列号,向单元格写入一个格式化和末格式化的字 符串   
  18.  $col = $row = 0;   
  19.  $worksheet->write($row$col'Hi Excel!'$format);   
  20.  $worksheet->write(1,    $col'Hi Excel!');   
  21.   
  22.  # 使用单元格名称(例:A1),向单元格中写一个数 字。   
  23.  $worksheet->write('A3', 1.2345);   
  24.  $worksheet->write('A4''=SIN(PI()/4)');   
  25.  exit;   

[ From :] http://clchun.javaeye.com/blog/327252

  评论这张
 
阅读(3042)| 评论(0)
推荐 转载

历史上的今天

评论

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

页脚

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