tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
6
ZUGRIFFE
542
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Stibbizi Stibbizi ist offline Grünschnabel
    Registriert seit
    Sep 2011
    Beiträge
    4
    Hallo,

    ich stehe vor folgendem Problem:

    Ich soll mit JavaPOI eine Exceltabelle auslesen. Das Auslesen der gesamten Tabelle funktioniert auch.
    Nun soll ich aber nur 4 Spalten anhand der Spaltennamen auslesen und bekomme es leider nicht hin! Hat jmd vorschläge wie ich es machen könnte?

    btw mein codes zum auslesen (Sry bin neu weiß nich wie ich code in diesen Code-fenstern anzeigen lassen kann)
    Code java:
    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    
     public static Vector readExcelFile(String fileName) {
            
            Vector cellVectorHolder = new Vector();
     
            try {
                /** Creating Input Stream **/
                
                FileInputStream myInput = new FileInputStream(fileName);
     
                /** Create a POIFSFileSystem object **/
                POIFSFileSystem myFileSystem = new POIFSFileSystem(myInput);
     
                /** Create a workbook using the File System **/
                HSSFWorkbook myWorkBook = new HSSFWorkbook(myFileSystem);
     
                /** Get the first sheet from workbook **/
                HSSFSheet mySheet = myWorkBook.getSheetAt(0);
     
                /** Iterator **/
                Iterator rowIter = mySheet.rowIterator();
                
     
                while (rowIter.hasNext()) {
                    HSSFRow myRow = (HSSFRow) rowIter.next();
                    Iterator cellIter = myRow.cellIterator();
                    Vector cellStoreVector = new Vector();
                    while (cellIter.hasNext()){
     
                        HSSFCell myCell = (HSSFCell) cellIter.next();
                        
                        cellStoreVector.addElement(myCell);
     
                    }
                    cellVectorHolder.addElement(cellStoreVector);
     
                }
     
            } catch (Exception e) {
                e.printStackTrace();
            }
            return cellVectorHolder;
        }
    Geändert von sheel (27.09.11 um 12:19 Uhr) Grund: Codetags
     

  2. #2
    Avatar von sheel
    sheel sheel ist gerade online Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.502
    Hi

    Fürs ordentliche anzeigen musst du nur [java] davor
    und [/java] danach schreiben.
    Siehe auch den Codetags-Link in meiner Signatur.
    Habs mal bei deinem Beitrag eingefügt.
     
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

  3. #3
    Stibbizi Stibbizi ist offline Grünschnabel
    Registriert seit
    Sep 2011
    Beiträge
    4
    Okay,
    danke schonmal soweit!
    Jetzt brauche ich ja NUR noch die Lösung für mein Programm
     

  4. #4
    Avatar von HonniCilest
    HonniCilest HonniCilest ist offline Mitglied Platin
    Registriert seit
    Jun 2009
    Ort
    Java Insel
    Beiträge
    501
    Ich habe leider noch nie mit der API gearbeitet, aber ich vermute das funktioniert ähnlich wie bei Datenbanken. Sprich du "schränkst" erst deine Tabelle auf diese Spalten ein und iterierst die dann die Reihen. Die Reihen haben dann nur diese Spalten.

    Auf den ersten Blick sieht das ganz gut aus:
    HSSFAutoFilter setAutoFilter(CellRangeAddress range)
    Enable filtering for a range of cells
     
    Jeder Fehler, aus dem wir lernen, ist ein Erfolg...
    ...Aber mach' nicht den Fehler, nicht aus deinen Fehlern zu lernen.

  5. #5
    Stibbizi Stibbizi ist offline Grünschnabel
    Registriert seit
    Sep 2011
    Beiträge
    4
    Vielen dank schonmal soweit,
    aber der 'Vorschlag mit dem Filter würde vorraussetzen, dass die Felder alle nebeneinander liegen. Es sollte aber auch funktionieren wenn das nicht gegeben ist. Habe es so gelöst das ich den Spaltenindex der Überschriften die ich Suche auslese und dann in jeder Zeile die Zellen mit den entsprechenden Indizes ausles. Vllt nicht die schönste Lösung.. zumind. funktioniert es! Wenn jmd bessere Lösungen hat nur her damit!
     

  6. #6
    Avatar von HonniCilest
    HonniCilest HonniCilest ist offline Mitglied Platin
    Registriert seit
    Jun 2009
    Ort
    Java Insel
    Beiträge
    501
    Zitat Zitat von Stibbizi Beitrag anzeigen
    Vielen dank schonmal soweit,
    aber der 'Vorschlag mit dem Filter würde vorraussetzen, dass die Felder alle nebeneinander liegen. Es sollte aber auch funktionieren wenn das nicht gegeben ist.
    http://poi.apache.org/apidocs/org/ap...dressList.html
    Geändert von HonniCilest (27.09.11 um 13:31 Uhr)
     
    Jeder Fehler, aus dem wir lernen, ist ein Erfolg...
    ...Aber mach' nicht den Fehler, nicht aus deinen Fehlern zu lernen.

  7. #7
    Stibbizi Stibbizi ist offline Grünschnabel
    Registriert seit
    Sep 2011
    Beiträge
    4
    Es bleibt das Problem, dass die Spalten, die ich suche nicht immer an den selben Indizes stehen. Deshalb muss ich über die Spaltenüberschriften in der 1. Row gehen. Bräuchte also eine Funktion die anhand der Spaltenüberschrift ausliest! Aber da mein Programm problemlos läuft und es keine Einwände von Seiten anderer hier gab ist das Thema ja erledigt

    Vielen Dank für die Vorschläge
     

Ähnliche Themen

  1. Spezielle Zeile aus String auslesen
    Von RundR im Forum .NET Café
    Antworten: 8
    Letzter Beitrag: 21.06.10, 20:35
  2. Spezielle Zeichenfolge auslesen
    Von jorgeHX im Forum Algorithmen & Datenstrukturen mit Java
    Antworten: 2
    Letzter Beitrag: 08.05.06, 15:57
  3. Spalten auslesen
    Von Jai im Forum Visual Basic 6.0
    Antworten: 3
    Letzter Beitrag: 09.05.05, 12:45
  4. Spezielle Zeile in Textdatei auslesen
    Von MotoxX im Forum Visual Basic 6.0
    Antworten: 4
    Letzter Beitrag: 14.12.04, 11:57
  5. spalten auslesen
    Von stillerschrei im Forum PHP
    Antworten: 2
    Letzter Beitrag: 11.03.02, 11:47

Stichworte