Zum Inhalt springen

JExcel- Zugriff auf leere Zellen kommt eine Fehlermeldung


Empfohlene Beiträge

Geschrieben

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

Geschrieben

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

Geschrieben
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?
Geschrieben

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

Geschrieben

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 ;)

Geschrieben
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

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...