我是电子表格解析器的新手,除了主要功能的基本介绍之外,在CPAN上找不到太多信息。
我正在尝试读取.xlsx文件并删除整行,如果我正在过滤的哈希中存在column 2
。
然后我想在.xlxs
中打印出一个已编辑的文件我可以从Spreadsheet::ParseExcel
找到use strict;
use warnings;
use Spreadsheet::ParseXLSX;
my $parser = Spreadsheet::ParseXLSX->new;
my $workbook = $parser->parse("file.xlsx");
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 ) {
# Here I want to delete an entire row if a column 2 of that row matches a value
# sudo code:
# delete 'row' if 'row column 2' exists $hash{$key}
# And then print out the edited .xlsx file
}
}
}
Spreadsheet::ParseExcel
任何人都可以给我一些指示吗?
{{1}}是否适合使用此模块?
答案 0 :(得分:4)
Spreadsheet::ParseXLSX
仅用于阅读电子表格。它没有用于将数据从Perl更新并保存到Excel电子表格的工具。
然后有Spreadsheet::WriteExcel
和Excel::Writer::XLSX
等模块可以编写电子表格但无法读取它们。
但是把它们放在同一个脚本中?站在后面看着神奇的事情发生。