Enfa Geschrieben 2. Januar 2007 Geschrieben 2. Januar 2007 Hallo, Ich greife per JExcel auf eine Excel-Tabelle. Einzelne Zellen kann ich durch eingabe im Methode sheet.getCell(spalte, row) zugreifen. Aber wenn ich auf eine Leere Zelle zugreifen möchte, dann kommt eine Fehlermeldung. Um das Problem zu lösen, möchte ich eine if-Bedingung stellen: Wenn der bestimmte Zelle nicht leer ist, dann speichere diesen Wert als String. Wenn in der Zelle nichts steht, dann spring raus. Habe einige Versuche gemacht: if(aSheet.getCell(0,i) != null) --> dann speichere den inhalt. oder: if( aSheet.getCell(0,i).getContents() != null) oder: if( ! aSheet.getCell(0,i).getContents().equals("")). Funktioniert auch nicht. Wie kann ich die Bedingung realisieren? Oder habt Ihr eine andere Idee. Vielen Dank im Voraus. Tschüss Zitieren
etreu Geschrieben 2. Januar 2007 Geschrieben 2. Januar 2007 Was sagt denn deine Fehlermeldung. Hast du dir den Wert der zurückgeliefert wird schon zur Laufzeit in einem Debugger angeschaut? Zitieren
Enfa Geschrieben 2. Januar 2007 Autor Geschrieben 2. Januar 2007 Hi Enrico, meine Fehlermeldung sagt dies: Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 56 56 ist die Zelle. Kann es sein, dass das Sheet keine 56 reihen hat?? Gut möglich, oder? Tschüss Zitieren
perdian Geschrieben 2. Januar 2007 Geschrieben 2. Januar 2007 Kann es sein, dass das Sheet keine 56 reihen hat??Ja, und darum: Hast du dir den Wert der zurückgeliefert wird schon zur Laufzeit in einem Debugger angeschaut? Zitieren
Enfa Geschrieben 2. Januar 2007 Autor Geschrieben 2. Januar 2007 Hallo nochmals, Ich benutze Eclipse, deswegen sehe ich die Fehlermeldung, was in der Console steht. Debuggen tue ich nicht. Besser gesagt: Weiss net, wie es geht. Ich habe schon eine Idee, wie ich es machen könnte: Wenn ich auf eine Sheet zugreife, dann frage ich per Methode getRows() ab, wieviel Zeilen dieses Sheet hat. In einer For schleife wiederhole ich die Schritte bis i<getRows. Mal gucken, ob es klappt. Tschüss Zitieren
geloescht_Newlukai Geschrieben 2. Januar 2007 Geschrieben 2. Januar 2007 In Eclipse kannst Du links am Rand des Editors per Doppelklick einen Breakpoint einfügen. Oder mit Rechtsklick "Add Breakpoint" oder so. Und dann mußt Du Dein Programm nur noch - statt mit dem weißen Pfeil auf grünem Grund - mit dem Käfer auf grünem Grund starten. Wird nun der Code aufgerufen, den Du mit dem Breakpoint markiert hast, hält das Programm an und Du kannst Dir die Daten ansehen und weiterlaufen lassen. Und: Ja, es ist tatsächlich eine gute Idee sich vorher zu erkundigen, wieviele Zeilen denn überhaupt existieren, bevor man wild drauf zugreift Zitieren
perdian Geschrieben 2. Januar 2007 Geschrieben 2. Januar 2007 Ich benutze Eclipse, deswegen sehe ich die Fehlermeldung, was in der Console steht.Was dir aber nur einen kleinen Einblick darin gibt, was gerade im inneren der JVM vor sich geht und in der Realität nicht immer den wirklichen Grund des Problems erkennen lässt. Debuggen tue ich nicht. Besser gesagt: Weiss net, wie es geht.Dann lern es! Es gehört zum Handwerkszeug "nachzusehen" wieso das eigene Programm nicht funktioniert, oder nicht so funktioniert, wie man es gerne hätte. Debugging ist kein "nice to have" sondern eine grundlegende Fähigkeit, ohne die man ab einem gewissen Punkt nicht mehr sehr weit kommt: Debugging with the Eclipse Platform eclipse debug tutorial Der Eclipse-Debugger Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.