# Excel Formel in Java



## Morinho (4. Nov 2014)

Hallo zusammen, 
ich bin sehr neu in diesem Forum und habe mich angemeldet, weil ich dringend Hilfe brauche bei meinem Programm. Deshalb will ich mich gleich vorab für alle Antworten bedanken und bin froh über jede noch so kleine Hilfe. Außerdem bitte ich euch darum sehr verständlich zu schreiben und nicht zu kompliziert zu werden. 

Also ich habe folgendes Problem:
Ich berechne aus einer ausgewerteten Exceltabelle zu 15 Spalten die Minimal- und Maximalwerte, doch leider kommen nicht die Werte der Formeln raus sondern stehen die Formeln selbst in den jeweiligen Zellen. Das heißt mir fehlt die Funktion die Formel zu aktivieren also wie wenn man eine Excelformel schreibt und dann die Enter-Taste drückt und das mit der Enter-Taste bleibt bei mir sozusagen aus.

Deshalb hoffe ich ihr könnt mir bei diesem Problem weiterhelfen.

Code:

```
public void langzeitauswertung() {
	for (int i = 35; i < 50 && anfang <= ende; i++){
	  //cell = null;
      //cell.setCellValue(writeCell(i, 53, minformel));
		  
	  writeCell(i, 53, minformel);
	  
	  anfang++;
		
	  writeCell(i, 51, maxformel);
	  
	  /*cell = null;
	  cell.setCellFormula("=MAX(A" + anfang +"35:A" + anfang + formelcell + ")");
	  
	  int intZahl = Integer.parseInt(maxformel);
	  Integer integerZahl = new Integer(maxformel);
	  	
	 
	  cell.setCellFormula(minformel);
	  cell.setCellFormula(maxformel);*/

	}


	  /*return(integerZahl);	
		
 	getLZA();*/
	  	  
}
```

Auswertung:


VG
Morinho


----------



## taro (4. Nov 2014)

sofern du mit Apache POI arbeitest, setze vor oder nach setCellFormula noch ein

```
cell.setCellType(HSSFCell.CELL_TYPE_FORMULA);
```


----------



## Morinho (4. Nov 2014)

Danke erstmal für die Antwort leider kommt bei mir dann folgendes:

java.lang.NullPointerException
	at kpc.Converter.langzeitauswertung(Converter.java:145)
	at kpc.F_Main$6.run(F_Main.java:323)
	at java.lang.Thread.run(Unknown Source)
error


Was mache ich da falsch bzw. was muss da noch geändert werden?

VG
Morinho


----------



## taro (4. Nov 2014)

ohne entsprechenden Code kann dir leider nicht geholfen werden - meine Glaskugel ist momentan in Reparatur.


----------



## taro (4. Nov 2014)

Grundsätzlich mal ein kleiner Ausschnitt aus der Doku:


```
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();
```
(Quelle: Busy Developers' Guide to HSSF and XSSF Features)

das sollte dir einen Anstoß für die Umsetzung geben.


----------



## Morinho (5. Nov 2014)

Welchen Code brauchst du den die Methode oben ist der Code zu meiner Frage oder benötigst du mehr?

Um was geht es eigentlich bei den Features HSSF und XSSF, denn diesen Themenbereich ist großes Neuland für mich.


----------



## taro (5. Nov 2014)

Morinho hat gesagt.:


> Welchen Code brauchst du den die Methode oben ist der Code zu meiner Frage oder benötigst du mehr?
> 
> Um was geht es eigentlich bei den Features HSSF und XSSF, denn diesen Themenbereich ist großes Neuland für mich.



Zitat: HSSF is the POI Project's pure Java implementation of the Excel '97(-2007) file format. XSSF is the POI Project's pure Java implementation of the Excel 2007 OOXML (.xlsx) file format.

Wenn du weiter oben schaust, siehst du eine Möglichkeit, Formeln in Excel einzufügen - proboiere dies aus und melde dich, wenn es Schwierigkeiten gibt


----------



## Morinho (12. Nov 2014)

Wo muss ich weiter oben schauen


----------

