Tk::TableMatrix::Spreadsheet - Excel-Tabellen mit Perl

Excel-artige Tabellen bzw. Spreadsheets kann man in Perl/Tk mittels Tk::TableMatrix::Spreadsheet erzeugen. Das Widget kann mit halbwegs großen Datenmengen umgehen. Es funktioniert von Haus aus nicht exakt wie Excel und es gibt auch keine eingebaute VBA-Unterstützung, aber man kann das Verhalten der Tabelle mit ein paar bindings recht gut nachstellen.


Perl-Quellcode

#!perl

use strict;
use warnings;
use Tk;
use Tk::TableMatrix::Spreadsheet;

my $mw = Tk::MainWindow->new(-width => 380, -height => 400,);
$mw->packPropagate(0);

my %table = ();
my $t = $mw->Scrolled(
    'Spreadsheet',
    -cols => 4,
    -rows => 500,
    -width => 4,
    -variable => \%table,
    -selectmode => 'extended',
    -titlerows => 1,
    -titlecols => 1,
    -bg => 'white',
    -bg             =>  'white',
    -scrollbars => 'se',
);

my $l = $t->Label(-text => 'text',);
$t->set('1,2', "Name");

for( my $c = 0; $c < 500; $c++ ) {
    $t->set("$c,0", $c);
    $t->set("$c,1", $c*100);
    $t->set("$c,2", $c^17);
    $t->set("$c,3", $c/5);
}

$t->pack(-fill => 'both', -expand => 1);

$mw->MainLoop();
Top