POI/HSSF tutorial

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo

kann mir jemand ein gutes POI und oder HSSF Tutorial geben? Möglichst auf Deutsch. Ich muss so ne Excel Tabelle einlesen und in ner TXT Datei wieder ausgeben. Jedoch bringt es mir nichts wenn ich mir hier jetzt vorschreiben lasse wies genau geht und dann nichts dabei lerne, da ich dieses noch erweitern werden muss ....
Es sollte schon möglichst genau und sogar für nen vollidioten wie mich verständlich erklärt sein.
Schonmal im voraus Danke für die Hilfe.
 

ARadauer

Top Contributor
ist zwar nicht auf deutsch... aber naja New Workbook, wird wohl zu verstehen sein...

http://poi.apache.org/spreadsheet/quick-guide.html

ich finde das ist einer der besten quick guides die ich kenne, man ließt sich das durch und kann das teil benutzen. so solls sein... kenn apache projekte, wo man auf der homepage herum surft und nach 15 minuten noch immer nicht wozu das zeug gebraucht wird.....
 
G

Guest

Gast
Danke für den Post, aber folgendes habe ich dort gefunden:

Reading and Rewriting Workbooks


Code:
   InputStream inp = new FileInputStream("workbook.xls");
    //InputStream inp = new FileInputStream("workbook.xlsx");

    Workbook wb = WorkbookFactory.create(inp);
    Sheet sheet = wb.getSheetAt(0);
    Row row = sheet.getRow(2);
    Cell cell = row.getCell(3);
    if (cell == null)
        cell = row.createCell(3);
    cell.setCellType(Cell.CELL_TYPE_STRING);
    cell.setCellValue("a test");

    // Write the output to a file
    FileOutputStream fileOut = new FileOutputStream("workbook.xls");
    wb.write(fileOut);
    fileOut.close();

Erstens streicht er mir folgende Sachen Rot an:
Workbook
Sheet
Row
Cell

Des weiteren Steht da vielleicht alles was ich brauche, aber das ist für mich kein Tutorial da nicht beschrieben ist wie es funktioniert sodas ich es auf mein Programm anpassen kann und ich muss ja irgendwie den Pfad angeben und das sehe ich da auch nicht... Ich sagte ja bereits ich bräuchte nen Tutorial das selbst nen Vollidiot wie ich versteht ...

Kann mir bitte noch jemand eines Posten oder versuchen es mir zu erklären?

Des weiteren ich muss das Excel Sheet Lesen können und dann in eine TXT Datei die Daten aus dem Excel Sheet einfügen. Das was ich gefunden habe Liest zwar die Daten, verändert aber nur das Sheet und Speichert es in einem neuen Sheet oder im alten ka.
 
G

Guest

Gast
Anonymous hat gesagt.:
Erstens streicht er mir folgende Sachen Rot an:
Workbook
Sheet
Row
Cell
Fehlender Import. Evtl. auch lib nicht mit eingebunden.
Code:
InputStream inp = new FileInputStream("workbook.xls");
sollte klar sein
Code:
    Workbook wb = WorkbookFactory.create(inp);
    Sheet sheet = wb.getSheetAt(0);
    Row row = sheet.getRow(2);
    Cell cell = row.getCell(3);
Erstellen des Workbooks (quasi die excel-datei auf Java-Seite),
hol dir das erste Arbeitsplatte,
passende row /cell-Kombination.
Code:
    if (cell == null)
        cell = row.createCell(3);
gibts die Zelle nicht (kein Wert drin), erstelle sie.
Code:
    cell.setCellType(Cell.CELL_TYPE_STRING);
    cell.setCellValue("a test");
Typ der Zelle nun String (kein Datum, keine Währung..kein was-weiss-ich)
Code:
    // Write the output to a file
    FileOutputStream fileOut = new FileOutputStream("workbook.xls");
    wb.write(fileOut);
    fileOut.close();
Rausschreiben.
Ich weiß nun nicht, wie das mit den FileStreams ist, aber evtl. musst du den lesenden nochmal schließen, bevor du schreibst. Das würde dir aber auch eine IOException mitteilen.
 
G

Gast

Gast
Mist, noch immer kein Account :D
Nachtrag: Das mit den FileStreams beziehe ich darauf, wenn es um eine Datei geht, von der gelesen und in die danach geschrieben wird.
 

ARadauer

Top Contributor
wenn ich ein tutorial über hssf will, kann ich nicht erwarten, dass mir das erklärt, wie ich eine lib verwende....

Erstens streicht er mir folgende Sachen Rot an:
alter! ein fehler wäre interessant....

hast du das jar in deinen classpath eingebunden?

ftp://gd.tuwien.ac.at/pub/infosys/s...oi/release/bin/poi-bin-3.2-FINAL-20081019.zip

da drin gibts eine jar die musst du einbinden.
verwendest du eclipse? wie du in eclipse eine jar einbindest.. da findest du sicher 100 tutorials im netz
 
G

Gast

Gast
>verwendest du eclipse? wie du in eclipse eine jar einbindest.. da findest du sicher 100 tutorials im netz

Ich denke mir, dass er das wissen sollte bevor er auf solche Ideen kommt. Aber leider: Alles schon gehabt :D
Denke mal, dass es nach dem Einbinden der Lib bzw. den richtigen Imports laufen sollte. Außerdem hab ich ja schon alles oben vorgekaut, da kann eigentlich keine Frage mehr kommen *hoff*
 
G

Guest

Gast
Also Danke schonmal für den post. Mir ist noch unklar wie ich die Datei die ich bearbeiten will aufrufe. Also ich erwarte da die ganze Zeit sowas wie wenn ich eine Datei Lade das da son Dialog kommt wie beim Speichern.

Bezüglich des ersten Punkts weis ich leider nicht was gemeint ist sorry bin halt noch total der Noob in Java :( (und muss trotzdem nen Riesen Programm in kürze fertig haben :( )
Beziehe mich auf das hier:

Code:
InputStream inp = new FileInputStream("workbook.xls");


Also die Lib sollte eingebunden sein das heist im Tree von Eclipse habe ich sie drin aber ob ich die nochmal in den Code selbst irgendwie einbinden muss weis ich nicht. Ansonsten den Import habe ich gemacht.
Das der Import

Code:
import org.apache.poi.*;
 
G

Guest

Gast
Ich meine was kann ich denn dafür das ich in meiner Ausbildung Java nicht richtig beigebracht bekommen habe d.h. ich habe zwar viel darüber gelernt aber nicht wie mans anwendet. Jetzt muss ich für das Ende meiner Ausbildung ein Projekt in Java machen was als mein Abschlussprojekt gilt. Es ist zu spät sich was anderes auszusuchen... und in anderen Programmiersprachen bin ich auch nicht unbedingt besser auser vielleicht in Cobol.
 

ARadauer

Top Contributor
nicht jammern, jar einbinden...

Also ich erwarte da die ganze Zeit sowas wie wenn ich eine Datei Lade das da son Dialog kommt wie beim Speichern.
was dialog? welcher dialog? das hat ja mit excel deatei lesen und schreiben nix zu tun...
 
G

Guest

Gast
Wiso hat das mit Excel Datei Lese nichts zu tun? Ich muss meinem Programm doch erstmal sagen welche Excel Datei ich haben will oder?

Was haltet ihr von der Idee wenn ich mir nächste woche Urlaub nehme und zum eigenen verständnis dann das gesammte Java ist auch nur eine Insel 7 Buch durchlese? Meint ihr das würde mir helfen?
 
G

Gasthelfer

Gast
Du machst doch durch den InputStream einen festen Verweis auf eine Datei (das sollteste zum frühen Entwickeln / Testen auch so lassen). JavaInsel nicht "durchlesen" sondern dir genau überlegen was du machen willst und gezielt nachschlagen. Mach dir eine Stichwort- und "Milestone"-Liste. Was willst du erreichen und wie. Reicht es evtl. aus erstmal mit einem statischen Dateiverweis (wie es jetzt ist) auf Konsolenbasis (ausgabe) zu Arbeiten? Oder willst du Excel2.0 machen (würde ich dir mit deinem Vorwissen nicht empfehlen)
 
G

Guest

Gast
Also erstmal zur Datei einlesen. Ich müsste dann im prinzip so den Pfad angeben?

Code:
InputStream inp = new FileInputStream("C:/Dokumente und Einstellungen/Name/Eigene Dateien/Mein Name/bla.xls");

Ok wo kann ich das nachschlagen? Im Internet finde ich nur nicht verständliche Tutorials. Für mich steht fest das ich bis morgen Abend eine Excel Datei einlesen können muss (erstmal nur eine Zelle) und diese in einem TXT File ausgeben können muss. Dieses Ziel muss erreicht werden über POI (HSSF).

Hm ja ich denke für den anfang wäre es einfacher das ausgelesene auf der Console auszugeben und danach dann in ein TXT File zu schreiben.

Nächster Punkt was ist Excel2.0?
 
G

Guest

Gast
egal ich gebs auf also dann halt beim nächsten problem meld ich mich wieder ... wird bestimmt schon bald sein hoffe nur das mir mein kollege mal zeit findet um mir das jetzt zu proggen
 
G

Guest

Gast
wenn ichs einfach nicht raff? was bringt mir dann immer und immer wieder die gleichen fragen zu stellen und es dann doch sowiso nicht zu verstehen bzw. nicht das zu bekommen was ich brauche
 

ARadauer

Top Contributor
Anonymous hat gesagt.:
wenn ichs einfach nicht raff? was bringt mir dann immer und immer wieder die gleichen fragen zu stellen und es dann doch sowiso nicht zu verstehen bzw. nicht das zu bekommen was ich brauche
welche Fragen? wo man ein hssf tut findet? ja auf der apache seite...

Ich müsste dann im prinzip so den Pfad angeben?
mhn ja

Ok wo kann ich das nachschlagen?
was nachschlagen? du bist zu unspezifisch, keiner weiß was dein problem ist...

du willst einen excel datei lesen und als csv schreiben?

Code:
package main.java;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Iterator;

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

public class Xls2Csv {
   
   public static void main(String[] args) throws IOException {
      InputStream inp = new FileInputStream("c:/in.xls"); 

      HSSFWorkbook wb =  new HSSFWorkbook(inp);
       HSSFSheet sheet = wb.getSheetAt(0);
      
      ArrayList<String> output = new ArrayList<String>();
      
      for (Iterator<HSSFRow> rit = (Iterator<HSSFRow>)sheet.rowIterator(); rit.hasNext(); ) {
         HSSFRow row = rit.next();
         StringBuffer outputRow = new StringBuffer();
         for (Iterator<HSSFCell> cit = (Iterator<HSSFCell>)row.cellIterator(); cit.hasNext(); ) {
            HSSFCell cell = cit.next();
            outputRow.append(cell.getStringCellValue());
            outputRow.append(";");
         }
         output.add(outputRow.toString());
      }
      
      BufferedWriter writer = new BufferedWriter(new FileWriter(new File("c:/out.csv")));
      
      for(String s: output) {
         writer.write(s);
         writer.newLine();
      }
      writer.flush();
      writer.close();

   }

}

wobei ich jetzt zugeben muss, das der quick start guide nicht mehr das ist was er mal war... die idioten haben da einiges von version 3 auf 4 verhunzt...
 
G

Guest

Gast
habe das problem jetzt mit hilfe meines kollegen lösen können war aber schon auf dem richtigen weg fehlten nurnoch ein paar kleinigkeiten
thx für die hilfe
 

JavaNooby

Aktives Mitglied
Gar nicht schlecht das Excel Ding.

Ich hab nur ein kleines Problem. Gibs da irgendwie ne möglichkeit so ein HssfSheet zu drucken?

Ich hab schon rumgesucht aber leider nichts gefunden . In der Api finde ich leider auch nichts dazu ;(



Vielen Dank ;)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
R POI HSSF liesst in Excel Formel statt Ergebnis Java Basics - Anfänger-Themen 4
J HSSF POI in JCreator einbinden Java Basics - Anfänger-Themen 4
J Winzige Frage bezüglich leeren Zellen (HSSF) Java Basics - Anfänger-Themen 14
A Apache POI - HSSF vs. XSSF Problem Java Basics - Anfänger-Themen 4
M HSSF - JTable zu Excel exportieren Java Basics - Anfänger-Themen 13
T POI HSSF - Datum auslesen? Java Basics - Anfänger-Themen 2
K Mit POI-HSSF Diagramme aus XLS- Importieren Java Basics - Anfänger-Themen 2
LimDul Suche Java Stream Tutorial Java Basics - Anfänger-Themen 2
A Java Kurs / Tutorial Java Basics - Anfänger-Themen 6
nonickatall Erste Schritte Events Dokumentation/Tutorial Java Basics - Anfänger-Themen 1
IamArctic Quaxli Tutorial, Rotorblätter bewegen sich nicht mehr Java Basics - Anfänger-Themen 4
S Suche aktuelles 2D Grafik Tutorial Java Basics - Anfänger-Themen 5
T Gesucht: Tutorial im Anschluß an Gailer-net bzw. Bradley Kjell Java Basics - Anfänger-Themen 0
M Java Anfänger - Video Tutorial Reihe (DEUTSCH) Java Basics - Anfänger-Themen 11
K Gutes Java 3D Game Tutorial gesucht Java Basics - Anfänger-Themen 6
P Java anfänger tutorial gesucht Java Basics - Anfänger-Themen 12
R Quaxli Tutorial - Bild nicht sichtbar Java Basics - Anfänger-Themen 4
Z Problem mit Tutorial - Finde Kon.java nicht Java Basics - Anfänger-Themen 11
S Probleme mit Java 3D Tutorial (Applet) Java Basics - Anfänger-Themen 7
D Tutorial Java Basics - Anfänger-Themen 10
C [Sammelthread] Fragen zu Quaxlis Tutorial Teil 1 Java Basics - Anfänger-Themen 8
C Problem bei Quaxlis Tutorial(Nachtrag Teil1) Java Basics - Anfänger-Themen 9
K Tutorial durch - und dann? Java Basics - Anfänger-Themen 5
8 Tutorial - Java Java Basics - Anfänger-Themen 2
A Suche Java Tutorial (open e-book ö.ä.) Java Basics - Anfänger-Themen 3
C Generic Tutorial Java Basics - Anfänger-Themen 12
P Suche Tutorial für H2 Java Basics - Anfänger-Themen 15
T Java Tutorial auf deutsch Java Basics - Anfänger-Themen 1
N Tutorial Debugger Java Basics - Anfänger-Themen 2
B [Javadoc] Tutorial für die Auswertung des docs Java Basics - Anfänger-Themen 15
S Java Anfänger - Tutorial Frage Java Basics - Anfänger-Themen 10
Hindi93 Hilfe bei Tutorial Java Basics - Anfänger-Themen 10
N Hibernate "Hello World" Tutorial gesucht Java Basics - Anfänger-Themen 9
neurox Tutorial equals und hashCode überschreiben Java Basics - Anfänger-Themen 33
D Java Tutorial zur Netzwerk / Datenbankprogrammierung gesucht Java Basics - Anfänger-Themen 2
D Suche gutes Buch oder Tutorial Java Basics - Anfänger-Themen 3
K java.util.ConcurrentModificationException problem in der Logik? Quaxli-Tutorial Java Basics - Anfänger-Themen 9
S JNA Mapping Tutorial Java Basics - Anfänger-Themen 3
G hibernate . tutorial prob . Java Basics - Anfänger-Themen 4
G Tomcat Tutorial. Java Basics - Anfänger-Themen 8
G TrayIcon für JSF-Applikation -> Tutorial gesucht Java Basics - Anfänger-Themen 4
G Zugriff auf Webservice -> Tutorial gesucht Java Basics - Anfänger-Themen 2
G jfreechart einbinden + tutorial Java Basics - Anfänger-Themen 2
G J2EE Tutorial . komme nicht weiter Java Basics - Anfänger-Themen 7
K Kennt jemand ein gutes Tutorial für Wertübergabe? Java Basics - Anfänger-Themen 4
A Tutorial Java Servlets Java Basics - Anfänger-Themen 3
G gutes Tutorial rund um WAR-Dateien Java Basics - Anfänger-Themen 4
A Tutorial zur Datenbankanbindung gesucht Java Basics - Anfänger-Themen 2
A Java Applikation Tutorial? Java Basics - Anfänger-Themen 4
G suche tutorial für eclipse pluging javaeditor entwicklung Java Basics - Anfänger-Themen 7
G hibernate tutorial Java Basics - Anfänger-Themen 3
M ClearCase Tutorial bzw. Bücher Java Basics - Anfänger-Themen 4
S Suche Tutorial :) Nicht schlagen Java Basics - Anfänger-Themen 3
K gutes Tutorial? Java Basics - Anfänger-Themen 4
C jdbc Anfänger Tutorial gesucht Java Basics - Anfänger-Themen 19
G MySQL Tutorial Java Basics - Anfänger-Themen 2
M Problem mit Code aus JTable Tutorial Java Basics - Anfänger-Themen 11
R Anfänger-Tutorial Java + Eclipse Java Basics - Anfänger-Themen 4
A IO Programm aus Tutorial funktioniert nicht Java Basics - Anfänger-Themen 8
B Frage zum Tutorial "JTable - Teil 5 - Verändern von Dat Java Basics - Anfänger-Themen 6
J Swing Tutorial gesucht ! Java Basics - Anfänger-Themen 11
L Kompellierungsfehler RMI Tutorial Java Basics - Anfänger-Themen 7
G Tutorial zu MVC gesucht Java Basics - Anfänger-Themen 1
G suche ein tutorial um einen LOGIN einzurichten. Java Basics - Anfänger-Themen 5
K [servcer/Client] Suche Server /Client Tutorial. Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben