从Perl中的Excel工作簿中读取一个工作表

时间:2011-07-14 21:04:54

标签: perl perl-module xls

我有一个perl脚本读取Excel文件并使用perl模块解析“Spreadsheet :: ParseExcel :: Simple;我想要的是我的脚本只读取一个标签而不是阅读电子表格上的所有标签。这里看起来像什么就像剧本的一部分一样。

# ### Use a Spreadsheet CPAN module for parsing Excel spreadsheet

require Spreadsheet::ParseExcel::Simple;
my $xls = Spreadsheet::ParseExcel::Simple->read('/opt/test.xls');

$Output_Circuit_file      = "/opt/result.text";

############################################################################
$err_idx = 0;
$out_idx = 0;
@date_var = localtime;

$date = sprintf("%02d",($date_var[4] + 1)) . '/' . sprintf("%02d",$date_var[3]) . '/' . ($date_var[5] + 1900);

## ############# 

foreach my $sheet ($xls->sheets) {
   while ($sheet->has_data) {
       my @words = $sheet ->next_row;
       $ctr++;

任何人都可以提供帮助,在那里我可以修改以阅读我的脚本只读标签“A”并忽略其他所有内容。

2 个答案:

答案 0 :(得分:3)

foreach my $sheet ($xls->sheets)此循环使您读取所有工作表(工作表),这是excel中选项卡的另一个单词。只需阅读$xls->sheets的第一个,你就可以了。

@sheets = $xls->sheets;
$sheet = $sheets[0];
if($sheet->has_data) {
   ....
}

答案 1 :(得分:1)

添加以下行并阅读特定工作表名称

   $sheetname= $sheet->{sheet}->{Name}; 
   if ($sheetname !~ 'Test') { next; }

感谢所有人帮助我的努力!!

相关问题