# Treeview mit daten aus dem Excel



## tina0130 (4. Juli 2011)

Hallo 

Ich habe einen Treeview erstellt  und möchte das die Daten (NAme Vorname Firma und Personalnummer) von einem ExcelFile gelesen werden. Es sind etwa 2000 Perosnen, die ich einlesen muss.
Ich habe noch den Code und ein Bild  hinzugefügt damit ihr es besser nachvollziehen köntn wie es aussieht und was ich möchte.

Meine Frage ist nun, wie kann ich diese 2000 Pesonen am besten in das Treeview importieren. Die jeweiligen Personen werden auch versch. Fimren zugeteilt. 

Wer hat eine gute einfache lösung für mich?

Danke


----------



## RoCMe (4. Juli 2011)

Hallo!

Wo genau liegt denn das Problem? Weißt du nicht, wie du Treeviews befüllen kannst, oder suchst du Code, der das Lesen aus einer Excel Tabelle zeigt?

Für Letzteres siehe deine Lieblings-Suchmaschine und die magische Zauberformel "how to read from an excel file java" - die 4,09 Millionen Treffer sollten dir weiterhelfen ;-p
Unter anderem findet sich das hier, das sah auf den ersten Blick ganz brauchbar aus:
http://www.kodejava.org/examples/461.html

Je nachdem wie deine Excel-Tabelle aussieht, würde ich sie aber lieber als CSV exportieren und dann einlesen - das ist einfacher.
Als Datenstruktur empfehle ich - so aus dem Bauch heraus und ohne ein großartiges langfristig tragfähiges Datenmodell entwickeln zu wollen - eine HashMap<String, List<User>>, wobei User die Nutzerdaten enthaelt und die Map für jede Firma (bzw. ihren Namen) eine Liste von Nutzern beinhaltet, die dieser Firma angehören....

Bei weiteren Fragen:
Immer her damit!

mfg,
RoCMe


----------



## tina0130 (4. Juli 2011)

OMG.. 
also ich verstehe momenatn nur Bahnhof ich verstehe überhauot nichts. Also ich habe mir auch überlegt alle Firmen über ein Hashmap  zu erstellen und dann die jeweiligen Mitarbeiter von einem ExcelFile auszuleen.

Die Namen welche momenatn auf meinem Bild ersichtlich sind habe ich "manuell" erstellt, das ist aber nicht der Sinn des ganzen. Also ich brauche jetzt einen Befehl, wie du richtig verstanden hast. welche alle Mitarbeiter liest. Pro Firma gibt es je ein ExcelSheet mit den jeweiligen Mitarbeiter.

 Also
könnte ich dies folgndermassen machen


HashMap<String, String> datensatz;
ArrayList<HashMap<String, String>> list;

list  = new ArrayList<HashMap<String, String>>();

// Setzten des ersten Datensatzes
datensatz = new HashMap<String, String>();
//Code um die Mitarbeiter von Fimra1 von Excel zu lesen
datensatz.put("firma", "FIrma1");

list.add(datensatz);

// Zweiter Datensatz setzen
datensatz = new HashMap<String, String>();
//Code um die Mitarbeiter von Fimra2 von Excel zu lesen
datensatz.put("firma", "Firma2");

list.add(datensatz);

// ...

// Zugriff auf ersten Datensatz

System.out.println(list.get(0).get("firma"))





Mein ExcelFile ist folgendermassen aufgebaut

Name      Vorname         Personalnummer
Muster     Nina                111
Beispiel    Franz              112
Example    Hans              113
...
...


Ich hoffe jemand kann helfen komem nicht mehr vorwärts


----------



## Technoblade (4. Juli 2011)

Ich schließe mich der Meinung von RocMe an. Du solltest die Exceltabellen zu csv exportieren. Dein Beispiel sähe als csv so aus:

Name;Vorname;Personalnummer
Muster;Nina;111
Beispiel;Franz;112
Example;Hans;113
...

Das Format kannst du auch hier nachlesen.

Wenn du dann deine Dateien zu den Firmen alle in einem Ordner hast und die Dateien alle Firmenname.csv heißen kannst du dadurch ganz leicht den TreeView importieren, da csv-Dateien sehr leicht zu parsen sind. Die Map und die List sind sogar überflüssig wenn du die Daten wirklich nur anzeigen willst und nicht noch anderweitig verarbeiten willst.

Eine allgemeine Sache noch, wenn du vor deinen Quelltext in eckigen Klammern Java schreibst und hinter den Quelltext ebenfalls in eckigen Klammern /Java schreibst wird der Quelltext viel schöner angezeigt.


----------

