Veröffentlicht 2. Januar 200718 j 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
2. Januar 200718 j Was sagt denn deine Fehlermeldung. Hast du dir den Wert der zurückgeliefert wird schon zur Laufzeit in einem Debugger angeschaut?
2. Januar 200718 j 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
2. Januar 200718 j 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?
2. Januar 200718 j 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
2. Januar 200718 j 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
2. Januar 200718 j 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
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.