Thread OODoc -> Fehler bei 'getCellValue'?
(6 answers)
Opened by Hagen at 2009-07-24 15:58
Ich habe in OpenOffice 3.1 eine .ods-Tabelle erstellt mit folgenden Spalten/Zeilen:
ID Name Anzahl FLS Bratwurst 22 SCH Schäuferla 11 KAE Käs 2 Mit dem Skript 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 31 #!/usr/bin/perl $| = 1; use strict; use warnings; use OpenOffice::OODoc; Lese_Datei('./OO.ods'); sub Lese_Datei { my($datei) = @_; print " Bearbeite '$datei' ...\n"; my $doc = odfDocument(file => $datei); # alle Arbeitsblätter bearbeiten for (my $i=0; $i<$doc->getTableList();$i++) { my $tbl = $doc->getTable($i); print " Name des Arbeitblattes: ".$doc->tableName($tbl)."\n"; for (my $zeile=0; $zeile<20; $zeile++) { my $found = 0; for (my $spalte=0; $spalte<20;$spalte++) { my $v = $doc->getCellValue($tbl, $zeile, $spalte); $v = '' if !defined($v); print "$v;"; $found++; } # for print "\n" if $found; } # for } # for } # Lese_Datei kommt folgendes heraus: U:\> OO.pl Bearbeite './OO.ods' ... Name des Arbeitblattes: Sheet1 ID;Name;Anzahl;;;;;;;;;;;;;;;;;; FLS;Bratwurst;22;;;;;;;;;;;;;;;;;; SCH;Schõuferla;11;;;;;;;;;;;;;;;;;; KAE;Kõs;2;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;; PS: Ich verwende OpenOffice::OODoc 2.108 //EDIT: OHA! Wenn ich Auto Auto 22 in der Tabelle hinzufüge, dann fehlt doch glatt die erste Spalte! ID;Name;Anzahl;;;;;;;;;;;;;;;;;; FLS;Bratwurst;22;;;;;;;;;;;;;;;;; SCH;Schõuferla;11;;;;;;;;;;;;;;;; KAE;Kõs;2;;;;;;;;;;;;;;;;;; AU;Auto;1;;;;;;;;;;;;;;;;;; AU;Auto;2;;;;;;;;;;;;;;;;;; Auto;22;;;;;;;;;;;;;;;;;;; Nachdem ich auch nicht AUTO eintragen kann und das sofort zu Auto in OpenOFFice wird, tippe ich darauf, dass es ein reserviertes Wort ist. Wenn du "Auto" eingibst, bleibt es so. //EDIT2: Du musst folgendes machen im OpenOffice-Dokument: Extras -> Zellinhalte -> AutoEingabe ausschalten Dann bleibt das Auto auch doppelt drin Habe jetzt gerade keine Ahnung wofür der Zellinhalt Auto steht. //EDIT3 Nanu, wenn ich wieder Auto Auto 33 einfüge ist das erste Auto wieder weg. Ob das jetzt ein Bug in OpenOffice ist oder CPANs Modul weiß ich nicht. Last edited: 2009-07-24 17:30:58 +0200 (CEST) |