Thread zweidimensionales Array auf Leere prüfen (4 answers)
Opened by pktm at 2006-06-16 20:15

pktm
 2006-06-16 20:15
#67406 #67406
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Hallo!

Ich habe da eine Datenstruktur, die so aussehen kann:
Quote
$VAR1 = [
         [
           bless( do{\(my $o = 34598980)}, 'Win32::OLE::Variant' ),
           '8513',
           '485/142562',
           '19',
           '2506098',
           '4',
           bless( do{\(my $o = 34599196)}, 'Win32::OLE::Variant' ),
           bless( do{\(my $o = 34591412)}, 'Win32::OLE::Variant' ),
           undef,
           undef,
           undef,
           undef,
           undef,
           undef,
           undef,
           undef,
           '29.2',
           '29.2',
           undef,
           undef
         ],
         [
           undef, undef, undef, undef, undef,
           undef, undef, undef, undef, undef,
           undef, undef, undef, undef, undef,
           undef, undef, undef, undef, undef
         ],
       [ 3mal-alles undef ], ...
       ];


Das ist eine Range()-Selektion aus Excel via Win32::OLE.
Ich möchte aus dieser Selektion die Stelle in einer Excel-Datei finden, die am Ende aller EIntragungen steht,also einfach das untere Ende.

Es gibt zwar die Möglichkeit sowas hier zu verwenden:
Code: (dl )
$Sheet->Range("A1", $Sheet->Range("A1")->End($xl->{xlDown}))->Count();

aber das hört bei der ersten Leerzeile auf zu zählen. Manchmal wird vom menschlichen Benutzer der Exceldatei zur Übersicht aber eine solche, oder auch zwei eingefügt.
Deshalb die manuelle Zählung über eine while-Schleife. Sie beginnt ab $Sheet->Range("A1", $Sheet->Range("A1")->End($xl->{xlDown}))->Count(); und prüft dann, ob nach den von Excel (?) gefundenen Zeilen noch weitere Einträge stehen (und das tun sie auch).

Jetzt möchte ich gerne über die ganze Breite abfargen, ob vier aufeinanderfolgende Zeilen leer sind.

Gibt es dafür einen einfachen Algorithmus?
Ich kann mit gerade keinen aus den Fingern saugen.
Das kniffelige besteht darin, dass man einstellen können soll, nach wieviel aufeinanderfolgenden leeren Zeilen gesucht wird (falls sich der benutzer mal entscheidet 4 Leerzeilen einzufügen).

Ideen? Gibt es scon Module mit solchen Algorithmen? Prüfen einer x-dimensionalen Datenstruktur auf definierte Werte? Vielleicht die Liste flatten und dann auf irgendwas definiertes prüfen?

Grüße, pktm
http://www.intergastro-service.de (mein erstes CMS :) )

View full thread zweidimensionales Array auf Leere prüfen