如何使用 Spreadsheet::ParseExcel::SaveParser 删除现有 xls 文件中的工作表?
How to delete a worksheet in an existing xls file using Spreadsheet::ParseExcel::SaveParser?
我想从我正在修改模块 Spreadsheet::ParseExcel::SaveParser
的现有 xls 文件 中删除作品sheet。我在 CPAN 网站上找不到任何东西。我找到了一个从末尾删除 worksheets 的代码,但我想根据其名称删除 sheet。我附上代码。请也解释该代码中的 splice 命令。谢谢
这是我发现的 link:
https://www.perlmonks.org/?node_id=722716
#!/usr/bin/perl -w
use strict;
use Spreadsheet::ParseExcel;
use Spreadsheet::ParseExcel::SaveParser;
my ($INFILE,$OUTFILE)=("in.xls","out.xls");
my $oExcel = new Spreadsheet::ParseExcel::SaveParser;
my $oBook = $oExcel->Parse($INFILE);
splice(@{$oBook->{Worksheet}},1,1);
$oBook->{SheetCount}--;
$oExcel->SaveAs($oBook, $OUTFILE);
Perlmonks link in the question 有帮助。如果你想删除特定的 sheet 使用行
splice(@{$oBook->{Worksheet}},1,1);
其中第一个表示您要从中删除 sheet,下一个表示您要从偏移中删除多少 sheet。
这与正常的 splice
命令相同。
执行此操作后,使用命令$oBook->{SheetCount}--;
删除工作sheets。
我想从我正在修改模块 Spreadsheet::ParseExcel::SaveParser
的现有 xls 文件 中删除作品sheet。我在 CPAN 网站上找不到任何东西。我找到了一个从末尾删除 worksheets 的代码,但我想根据其名称删除 sheet。我附上代码。请也解释该代码中的 splice 命令。谢谢
这是我发现的 link:
https://www.perlmonks.org/?node_id=722716
#!/usr/bin/perl -w use strict; use Spreadsheet::ParseExcel; use Spreadsheet::ParseExcel::SaveParser; my ($INFILE,$OUTFILE)=("in.xls","out.xls"); my $oExcel = new Spreadsheet::ParseExcel::SaveParser; my $oBook = $oExcel->Parse($INFILE); splice(@{$oBook->{Worksheet}},1,1); $oBook->{SheetCount}--; $oExcel->SaveAs($oBook, $OUTFILE);
Perlmonks link in the question 有帮助。如果你想删除特定的 sheet 使用行
splice(@{$oBook->{Worksheet}},1,1);
其中第一个表示您要从中删除 sheet,下一个表示您要从偏移中删除多少 sheet。
这与正常的 splice
命令相同。
执行此操作后,使用命令$oBook->{SheetCount}--;
删除工作sheets。