【问题标题】:How to move to a different cell of an excel sheet based on a match?如何根据匹配移动到 Excel 工作表的不同单元格?
【发布时间】:2020-02-17 05:06:13
【问题描述】:

我有一个 Excel 表格,如果匹配为真,我想在其中移动到同一列的下一个单元格,然后我需要在数组中获取该行的内容。

我可以根据第 0 列中的某个定义值移动到不同的单元格,但下一次如果发生匹配,我想从 (0, 1),最初我在(0,0)。因此,根据比赛,我可以移动到(0,1),但不能从(0,1)移动到(1,1)。

for (my $i=$row_min; $i <= $row_max; $i++) 
{ 
    my $cell = $worksheet->get_cell($i , $col_min);
    next unless $cell;
    print("$cell\n");

    my $value =$cell->value();
    print("$value\n");
    my $s= $col_min + 1;
    if( defined $cell)
    {
        $cell =$worksheet->get_cell($i  , $s);
        $value =$cell->value();
        print("$cell\n");
        print("$value\n");

        if ($value =~ m/^PG$/i )
        {
            print("I am working\n");
            $cell=$worksheet->get_cell($row_min + 1,$s);
            next unless $cell=~ m/^WAC$/i;
            print("$cell\n");
            $value=$cell->$value();

            print("$value\n");
        }
    }
    else
        {
            print("\n");
        }
}

【问题讨论】:

  • 请提供更多详细信息(电子表格的实际数据)和此案例的预期输出示例。

标签: regex excel perl


【解决方案1】:
$cell=$worksheet->get_cell($row_min + 1,$s);

也许您想在这里查看 $i 而不是 $row_min? $row_min 在每一行都有相同的值。

【讨论】:

  • 我试过了,但是用 $i 代替 $row_min 也没有得到想要的输出
猜你喜欢
  • 2014-09-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多