Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask

Re: Create a excel sheet with formula ???

by prasadbabu (Prior)
on Nov 08, 2006 at 06:38 UTC ( #582792=note: print w/replies, xml ) Need Help??

in reply to Create a excel sheet with formula ???

If I understood your question correctly, I am answering your second question.

In case of formula the row and column not taking the variable

Change your formula code as shown below. Here the variables working perfectly in the formula.
my $first = 'C2'; my $second = 'C9'; for my $r (3..4) { $worksheet->write("E$r", "=COUNTIF($first:$second, \"pass\")"); $r++; $worksheet->write("E$r", "=COUNTIF($first:$second, \"FAIL\")"); + }
Also try to use strict and warnings.


Replies are listed 'Best First'.
Re^2: Create a excel sheet with formula ???
by samirpatry (Acolyte) on Nov 08, 2006 at 07:05 UTC

    Thnax i always write the $r instade of "E$r";

    So for my next point that is, is there any way to put this in to a subroutine and use this value in excel.
    my @array= ($slno, $testid, $status); $array_ref = \@array; $worksheet->write_row($row, $col, $array_ref);

    here the @array takes the constant value,but if i pass it from other module then itis like
    sub Entry(@) { my @data= @_; $slno=$ddd[0]; $testid=$ddd[1]; $status=$ddd[2]; my @array= ($slno, $testid, $status); $array_ref = \@array; $worksheet->write_row($row, $col, $array_ref); }

    Then it is not working properly.I think i was missing something.Plz give some instuction
      I tried out your code, and it creates a nice spreadsheet. Thank you for providing your working code!

      I'm not sure I understand your question. However.. If I was to write a function that takes your three values it would be thus:

      sub Entry( $ $ $ $ ) { my ( $row, $slno, $testid, $status ) = @_; $worksheet->write( "A$row", $slno ); $worksheet->write( "B$row", $testid ); $worksheet->write( "C$row", $status ); }
      and call it thus
      # skip header row on Excel Spreadsheet my @entries = ( [ "1", "00A", "pass" ], [ "2", "01A", "fail" ], [ "3", "01B", "fail" ], [ "4", "02A", "pass" ], ); for (my $i = 0; $i < @entries; $i++) { my ( $slno, $testid, $status ) = @{$entries[$i]}; Entries( $i+2, $slno, $testid, $status ); }

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://582792]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (10)
As of 2018-06-18 16:42 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (110 votes). Check out past polls.