繁体   English   中英

Excel读取错误

[英]Excel Reading Error

我正在尝试使用Spreadsheet :: ParseExcel打开.XLS文件,但无法获取工作表对象。 当我打印工作表名称时,不会打印任何内容。 工作表名称与文件名映射并随着我们更改文件名而更改。该文件以前是在excel中以保护模式打开的,但后来我进行了设置更改,现在可以使用Excel正常打开。

我尝试了两种变体,首先是:

my $parser   = Spreadsheet::ParseExcel->new() or die($_);
my $newPath = 'C:\Users\MG\Desktop\WorkBook.XLS';
my ($filename, $parentdir, $extension) = fileparse($newPath, qr/\.[^.]*$/);
my $workbook = $parser->parse($newPath);

if ( !defined $workbook ) {
    die $parser->error(), ".\n";
}
my $sheet =  $workbook->worksheet($filename);
print $sheet->get_name();

上面的代码给出了错误-无法在未定义的值上调用方法“ get_name”

第二种是:

my $parser   = Spreadsheet::ParseExcel->new() or die($_);
    my $newPath = 'C:\Users\MG\Desktop\WorkBook.XLS';
    my $workbook = $parser->parse($newPath);

    if ( !defined $workbook ) {
        die $parser->error(), ".\n";
    }
    my $sheet =  $workbook->worksheet(0);
    print $sheet->get_name();

在上面的代码中,我什至没有得到任何输出,甚至没有任何错误。

如果在系统中打开该文件后将其另存为.xls,则上述代码也适用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM