使用Spreadsheet :: ParseXLSX删除整行

时间:2015-05-07 12:41:40

标签: excel perl xlsx

我是电子表格解析器的新手,除了主要功能的基本介绍之外,在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}}是否适合使用此模块?

1 个答案:

答案 0 :(得分:4)

Spreadsheet::ParseXLSX仅用于阅读电子表格。它没有用于将数据从Perl更新并保存到Excel电子表格的工具。

然后有Spreadsheet::WriteExcelExcel::Writer::XLSX等模块可以编写电子表格但无法读取它们。

但是把它们放在同一个脚本中?站在后面看着神奇的事情发生。