Thread OODoc -> Fehler bei 'getCellValue'? (6 answers)
Opened by Hagen at 2009-07-24 15:58

GwenDragon
 2009-07-24 17:12
#123541 #123541
User since
2005-01-17
14749 Artikel
Admin1
[Homepage]
user image
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)

View full thread OODoc -> Fehler bei 'getCellValue'?