Schrift
[thread]11521[/thread]

Spreadsheet::WriteExcel - Bedingte Formatierung

Leser: 1


<< >> 6 Einträge, 1 Seite
Gast Gast
 2008-03-26 12:06
#107493 #107493
Hallo,

mit

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#! /usr/bin/perl -w

use strict;

use Spreadsheet::WriteExcel;

my $workbook = new Spreadsheet::WriteExcel('hallo.xls');
die "Problems creating new Excel file: $!" unless defined $workbook;

my $sheet = $workbook -> add_worksheet();

my $format= $workbook -> add_format(num_format => '[red][>10]General;[blue][<10]General;[green]General');

$sheet -> write(0, 0, 100, $format);
$sheet -> write(0, 1, 10, $format);
$sheet -> write(0, 2, 5, $format);

$workbook -> close() or die "Error closing file: $!";


ist es mir gelungen, mittels bedingter Formatierung die Schriftfarbe zu ändern.

Ist es mit der bedingten Formatierung auch möglich, die Zellenfarbe (Hintergrund) zu ändern?
renee
 2008-03-26 12:21
#107494 #107494
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Scheinbar nicht...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
renee
 2008-03-26 12:38
#107495 #107495
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Aber Du kannst es ja so machen:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#! /usr/bin/perl -w

use strict;

use Spreadsheet::WriteExcel;

my $workbook = new Spreadsheet::WriteExcel('hallo.xls');
die "Problems creating new Excel file: $!" unless defined $workbook;

my $sheet = $workbook -> add_worksheet();

my $cell = 0;
for( 100, 10, 5 ){
    my $format= $workbook -> add_format();
    my $color = 'green';
    if( $_ < 10 ){
        $color = 'red';
    }
    elsif( $_ > 10 ){
        $color = 'blue';
    }
    $format->set_bg_color( $color );
    $sheet -> write(0, $cell++, $_, $format);
}

$workbook -> close() or die "Error closing file: $!";
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Gast Gast
 2008-03-26 21:05
#107523 #107523
That's cool!


(kleiner Wermutstropfen: man kann damit keine Formatvorlagen erstellen.)
renee
 2008-03-27 09:53
#107526 #107526
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Gast+2008-03-26 20:05:06--
(kleiner Wermutstropfen: man kann damit keine Formatvorlagen erstellen.)


Meinst Du das so?

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#! /usr/bin/perl -w

use strict;

use Spreadsheet::WriteExcel;

my $workbook = new Spreadsheet::WriteExcel('hallo.xls');
die "Problems creating new Excel file: $!" unless defined $workbook;

my $sheet = $workbook -> add_worksheet();
my $green = $workbook -> add_format( bg_color => 'green' );
my $blue  = $workbook -> add_format( bg_color => 'blue' );
my $red   = $workbook -> add_format( bg_color => 'red' );

my $cell = 0;
for( 100, 10, 5, 30 ){
    my $format = $green;
    if( $_ < 10 ){
        $format = $red;
    }
    elsif( $_ > 10 ){
        $format = $blue;
    }
    $sheet -> write(0, $cell++, $_, $format);
}

$workbook -> close() or die "Error closing file: $!";
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Gast Gast
 2008-03-27 15:13
#107548 #107548
das hab ich mir so vorgestellt, dass ich mit Perl die Formatierungen mache und die Eingaben mit OO oder Excel, z.B.

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#! /usr/bin/perl -w

use strict;

use Spreadsheet::WriteExcel;

my $workbook = new Spreadsheet::WriteExcel('hallo.xls');
die "Problems creating new Excel file: $!" unless defined $workbook;

my $sheet = $workbook -> add_worksheet();

my $format= $workbook -> add_format();
$format -> set_num_format('[red][>50]General;[blue][<50]General;[green]General');

my $format_title= $workbook -> add_format();
$format_title -> set_font('Arial');
$format_title -> set_size(14);
# usw.

$sheet -> set_row(0, 20, $format_title);

foreach my $row (1..10){
        foreach my $col (0..1){
        $sheet -> write($row, $col, undef);
        }
        my $r = $row + 1;
        $sheet -> write($row, 2, "=A$r+B$r", $format);
}

$workbook -> close() or die "Error closing file: $!";
<< >> 6 Einträge, 1 Seite



View all threads created 2008-03-26 12:06.