Exceltabelle in Java erstellen und Werte einlesen

Morinho

Aktives Mitglied
Hallo zusammen,

ich bedanke mich gleich im Voraus für alle Antworten und für jede noch so kleine Hilfe.

Meine folgende Schwierigkeit ist:
Ich muss eine Auswertung schreiben aus der wiederrum eine Langzeitauswertung aus den MIN und MAX werten der benötigten 15 Spalten gemacht werden kann. Soweit bin ich schon nur jetzt kommt die Schwierigkeit für mich zumindestens. Ich muss nun ein neues Excelfile erstellen das in Tabelle 2 die berechneten MIN und MAX werte einträgt und in Tabelle 1 des Excelfiles Diagramme dazu erstellt.
Ich habe hierzu eine Vorlage gebastelt damit ihr euch das Bildlich vorstellen könnt und mir vielleicht besser weiterhelfen könnt.

Zusätzlich sollt ihr noch wissen, dass man ja bei einer Langzeitauswertung mehrere Dateien auswählt das heißt jede Datei bekommt in der Vorlage eine Zeile. Das heißt mein Beispiel ist nur anhand einer ausgewertet Datei (Werte natürlich irrelevant).

Vorlage1.PNG

VG
Morinho
 
Zuletzt bearbeitet:
Die konkrete Frage lautet eigentlich: Ob es mit einer Vorlage besser ist oder ob ich ein neues Excelfile kreieren sollte?
Ansätze habe ich noch keine.
 
Ich versteh den korrekten Sinn noch nicht. Was willst du am Ende mit den Werten anstellen ?
Warum Vorlage und warum neu kreieren ?
 
Bin aber mit dem Wort Apache auf das gleiche gestoßen viel zu aufwendig vielleicht bin ich nur zu blind den richtigen zu finden aber ich bitte darum einmal eine Ausnahme zu machen.
 
Alles klar danke ich werde erst morgen daran weiterarbeiten können.

Das heißt ich werde morgen Nachmittag einen Code posten was ich bis jetzt habe. 🙂
 
Was mache ich falsch wenn bei den letzten 2 Zeilen die angegebenen Fehler kommen?

Java:
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;

import java.io.FileOutputStream;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;
//import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.util.WorkbookUtil;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;


public class Dateierstellen {
	 	/*Workbook wb = new HSSFWorkbook();
	    FileOutputStream fileOut = new FileOutputStream("test.xls");
	    wb.write(fileOut);
	    fileOut.close();*/
	
	Workbook wb = new HSSFWorkbook();
	Sheet sheet1 = wb.createSheet("firsttest");
	Sheet sheet2 = wb.createSheet("secondtest");
	
	String safeName = WorkbookUtil.createSafeSheetName("[O'Brien's sales*?]");
	Sheet sheet3 = wb.createSheet(safeName);
	
	FileOutputStream fileOut = new FileOutputStream ("test.xls");
	wb.write(fileOut); 
	fileOut.close;
}

Fehler:
Multiple markers at this line
- Syntax error on token ".", @ expected after this token
- Syntax error, insert "SimpleName" to complete QualifiedName
- Syntax error, insert ")" to complete MethodDeclaration
- Syntax error, insert "Identifier (" to complete MethodHeaderName



Fehler:
Multiple markers at this line
- Syntax error, insert "Identifier (" to complete MethodHeaderName
- Syntax error, insert ")" to complete MethodDeclaration
 
Zuletzt bearbeitet von einem Moderator:
[ot]
Bitte verwende in Zukunft
Java:
-Tags für deinen Java-Code, danke! :)
[/ot]

Dein ganzer Code steht direkt in der Klassendefinition drinnen was aber nicht zulässig ist.
Gib den Code in eine Methode dann sollte es passen.

PS: Der Aufbau einer Klasse bzw. die Syntak sind wirklich Grundlagen vom JAVA die man selber lernen und üben muss.
 
Aus welchem Grund könnte der Fehler auftauchen?

Java:
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.util.WorkbookUtil;
//import org.apache.poi.ss.usermodel.Workbook;
//import org.apache.poi.xssf.usermodel.XSSFWorkbook;


public class Dateierstellen {
    
    private Sheet sheet1;
    private Sheet sheet2;
    private Sheet sheet3;

    public void Createsheet(String[] args) throws IOException {
         /*Workbook wb = new HSSFWorkbook();
        FileOutputStream fileOut = new FileOutputStream("test.xls");
        wb.write(fileOut);
        fileOut.close();*/
    
    Workbook wb = new HSSFWorkbook();
    setSheet1(wb.createSheet("firsttest"));
    setSheet2(wb.createSheet("secondtest"));
    
    String safeName = WorkbookUtil.createSafeSheetName("[O'Brien's sales*?]");
    setSheet3(wb.createSheet(safeName));
    
    FileOutputStream fileOut = new FileOutputStream ("test.xls");
    wb.write(fileOut);
    fileOut.close();
    }

    public Sheet getSheet1() {
        return sheet1;
    }

    public void setSheet1(Sheet sheet1) {
        this.sheet1 = sheet1;
    }

    public Sheet getSheet2() {
        return sheet2;
    }

    public void setSheet2(Sheet sheet2) {
        this.sheet2 = sheet2;
    }

    public Sheet getSheet3() {
        return sheet3;
    }

    public void setSheet3(Sheet sheet3) {
        this.sheet3 = sheet3;
    }

}

Fehler: Hauptmethode in Klasse Dateierstellen nicht gefunden. Definieren Sie die Hauptmethode als:
public static void main(String[] args):
oder eine JavaFX-Anwendung muss javafx.application.Application erweitern
 
Zuletzt bearbeitet von einem Moderator:
Habe es nun geschafft und möchte jetzt in bestimmte Zeilen etwas reinschreiben bzw. manche Zeilen verbinden um dort dann eine Überschrift einzufügen.
Wie sollte ich da vorgehen?
Java:
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;

import java.io.FileOutputStream;
import java.io.IOException;
//import java.sql.Date;
//import java.util.Calendar;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;


public class Dateierstellen {
    
    //private static Sheet sheet;
    private Sheet sheet1;
    private Sheet sheet2;

    public static void main(String[] args) throws IOException, NullPointerException {
    
    Workbook wb = new HSSFWorkbook();
    setSheet1(wb.createSheet("Diagramme"));
    setSheet1(wb.createSheet("Metadaten"));
    
    
    /*Row row = sheet.createRow((short)2);
    row.createCell(0).setCellValue(1.1);
    row.createCell(1).setCellValue(new Date(0));
    row.createCell(2).setCellValue(Calendar.getInstance());
    row.createCell(3).setCellValue("a string");
    row.createCell(4).setCellValue(true);
    row.createCell(5).setCellType(Cell.CELL_TYPE_ERROR);*/
    
    FileOutputStream fileOut = new FileOutputStream ("Langzeitauswertung.xls");
    wb.write(fileOut);
    fileOut.close();
    }

    private static void setSheet1(Sheet createSheet) {
        
    }

    public Sheet getSheet1() {
        return sheet1;
    }

    public Sheet getSheet2() {
        return sheet2;
    }
}
 
Zuletzt bearbeitet von einem Moderator:
[OT]Java™ Quelltext ist bitte in
Java:
-Tags zu schreiben: [code=Java]hier Java Code einfügen
[/OT]
 
Zuletzt bearbeitet:
Sorry weis leider nicht wie man die benutzt bin auf dem Gebiet mit Excel in java sehr hilflos.

Wenn du mir es kurz erklären könntest wäre das super 🙂
 
...möchte jetzt in bestimmte Zeilen etwas reinschreiben bzw. manche Zeilen verbinden um dort dann eine Überschrift einzufügen.
Wie sollte ich da vorgehen?

Lies dir einfach mal die Dokumentation dazu durch und suche im Internet nach Beispielen mit dieser Bibliothek.
Wenn du eine wirklich konkrete Frage kannst du diese gerne wieder hier stellen.

PS: Wenn es wirklich noch zu früh ist warte doch einfach auf später 😉

EDIT:
Sorry weis leider nicht wie man die benutzt bin auf dem Gebiet mit Excel in java sehr hilflos.

Wenn du mir es kurz erklären könntest wäre das super 🙂

Das hat nichts mit Excel zu tun, diese
Java:
-Tags, sondern mit dem Forum hier!
Damit man den Java Code hier halbswegs gut formatiert lesen kann sollte man jeglichen Java Code den man posten will zwischen [code=Java]-Tags schreiben.
Siehe dazu folgenden [URL="http://www.java-forum.org/forum-faq-beitraege/7407-man-fragen-richtig-stellt.html#post506132"]Beitrag Punkt 8[/URL]
 
Zuletzt bearbeitet:
Aber hätte nun jemand einen Ansatz zu der Frage wie man in bestimmte Zellen etwas reinschreibt nachdem man es erstellt hat?

Ja: Eigeninitiative zeigen und sich die Dokumentation durchlesen. Diese enthält Tutorials/Beispiele wie man gewisse Sachen macht.
Wenn du eine konkrete Frage zu einem Problem hast kannst du diese gerne stellen, nur etwas nicht zu wissen stellt kein Problem da 😉
 
Ok schade das es kein Forum gibt wo man einfach einmal richtig Hilfe bekommt bzw. einfach mal eine Lösung und nicht irgendwelche Tutorials die Meterlang sind und die Beispiele darin nur allgemein sind.

Aber danke an alle. 🙂
 
Moin,

schade das es kein Forum gibt wo man einfach einmal richtig Hilfe bekommt bzw. einfach mal eine Lösung und nicht irgendwelche Tutorials die Meterlang sind und die Beispiele darin nur allgemein sind.
Du solltest nicht sofort aufgeben, wenn Dir nicht die komplette Lösung präsentiert wird!

Erstens ist sowas eh' nicht der Sinn dieser Seite!
Hier werden Hilfen bei konkreten Problemem/Fragen oder zumindest Hinweise/Denkanstöße!

Zum zweiten solltest Du berücksichtigen, dass die Leute, die hier posten, dies i. d. R. nicht hauptberuflich machen, sondern neben dem eigentlichen Beruf oder in ihrer Freizeit!

Und drittens wird hier schon ein wenig Eigeninitiative erwartet, auf die man mit Tipps und Hilfen aufbauen kann!

Vielleicht noch dies:
http://www.java-forum.org/forum-faq-beitraege/7407-man-fragen-richtig-stellt.html

Gruß
Klaus
 
Zuletzt bearbeitet:
Ok schade das es kein Forum gibt wo man einfach einmal richtig Hilfe bekommt bzw. einfach mal eine Lösung und nicht irgendwelche Tutorials die Meterlang sind und die Beispiele darin nur allgemein sind.

Wenn du fix und fertige Lösungen willst bist du hier falsch bzw. kannst im Job Bereich einen Thread aufmachen und dir die Aufgabe lösen lassen (gegen entsprechendes Entgelt).
Wir sind nicht gewillt hier für andere die Jobs/Aufgaben zu machen unbezahlt.

Wir geben hier Hilfe, dazu ist das Forum auch gedacht!
Diese Hilfe soll dir aber bei der Lösung nur helfen sei es:
  • Pseudocode/Codeschnipsel
  • Links zu Dokumentationen/Tutorials usw.
  • Alternative zu deinem Vorgehen
  • Erklärung wie man es machen könnte
Etwas Eigeninitiative wünschen wir uns dann noch 🙂
Aber es macht einfach keinen Sinn in jedem Forum Sachen X mal zu erklären inkl. Beispielen wenn es eh einen Dokumentation bzw. Tutorials gibt welche das schon machen 😉
Des Weiteren gehört es zum Job (Programmierer usw.) sich bestimmte Sachen selbst anzueignen -> Dokumentation und Tutorials durchgehen und mit kleinen Testprogrammen herumprobieren.
(Ansonsten siehe den Post von Vfl_Freak)

The New Halloween Document
Hier findest du ein Beispiel: Diese erstellt eine Excel Blatt und füllt es mit Daten (inkl gestylten Zellen).
Für fast jede Zeilecode gibt es ein Kommentar, welcher erklärt was passiert.

Du weißt was du brauchst, daher sollte es kein Problem darstellen die Zeilen Code rauszufiltern, welche für dich interessant sind.
 
Zuletzt bearbeitet:

Zurück
Oben