Benutzereingabe von EXCEL-Funktionen parsen

chrissy

Bekanntes Mitglied
Hallo,

gibt es vielleicht schon eine Klasse / Library, die vom Benutzer eingegebene EXCEL-Funktionen parst???
Also ich stelle mir vor, daß mein Benutzer ein ein Textfeld zum Beispiel folgendes eingibt:

WENN(1 < 2; 1 * 2; 1 / 2)

Dann sollte, dieser Ausdruck in die 3 Teile zerlegt und natürlich in ein "if" umgesetzt werden und dann 2 zurückgeben (einen Parser für die mathematischen Formeln habe ich schon gefunden und implementiert)
oder

VERKETTEN("a";"b";"c")

sollte "abc" zurückgeben.

Geht das oder muss ich mir da doch meine eigene Klasse schreiben???

chrissy
 
Hallo Klaus,

danke für die schnelle Antwort ...
Da ich allerdigns ziemlich optimistisch an diese Sache rangegangen bin, hat mich deine Signatur zurück in die Realität geholt ;-)

Ich lasse den Thread mal noch ein bißchen offen, ist ja gerade erst erstellt und vielleicht fällt ja irgendjemandem eine Lösung ein.

chrissy
 
Ich hab mal weitergesucht ...

ich glaube, ich könnte mich mit der Library von Apache POI behelfen:
Java:
Workbook wb = new HSSFWorkbook();
Sheet sheet = wb.createSheet("new sheet");
Row row = sheet.createRow((short)0);
Cell cell = row.createCell(0);
cell.setCellFormula("SUM(1,1)");
        
FormulaEvaluator evaluator = wb.getCreationHelper().createFormulaEvaluator();
CellValue cellValue = evaluator.evaluate(cell);
        
System.out.println(cellValue.formatAsString());

Zwar nicht ganz so fein und ich muss noch irgendwie die deutschen Excel-Funktionen ins Englische übersetzen.
Im Web hab ich da eine Seite gefunden: excel-translator.de. Kann man die irgendwie über Java aufrufen, ausführen, zurückgeben???
 
Zuletzt bearbeitet:

Neue Themen


Zurück
Oben