Announcement

Collapse
No announcement yet.

Problem mit Apache Poi

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Problem mit Apache Poi

    Ich verwende seit ein paar Tagen die Apache Poi Version 3.1 Final um Formeln mit der Klasse FormulaEvaluator berechnen zu können. In meiner Excel-Datei steht eine SUMMEWENN Formel. Leider ist das Berechnen dieser Funktion in Poi noch nicht implementiert.

    Also habe ich versucht die Formel irgendwie nachzubauen und bin jetzt zu folgendem Ergebnis gekommen:

    {=SUMME(WENN(A1:A31=2;C1:C31;0))}

    oder auch

    {=SUMMENPRODUKT(WENN(A1:A31 = 2;1;0);C1:C31)}

    Die Werte in Spalte C aller Zeilen sollen addiert werden, wenn der Wert in Spalte A = 2 (später wird das auch eine Spalte, zur Vereinfachung erstmal ein fester Wert) ist. Also eigentlich eine klassische SUMMEWENN Situation.

    Wenn ich das jetzt mit Poi berechnen will, bekomm ich folgenden Fehler:


    Code:
    org.apache.poi.hssf.record.RecordFormatException: Coding Error: Expected ExpPtg to be converted from Shared to Non-Shared Formula by ValueRecordsAggregate, but it wasn't
    	at org.apache.poi.hssf.record.formula.ExpPtg.toFormulaString(ExpPtg.java:66)
    	at org.apache.poi.hssf.model.FormulaParser.toFormulaString(FormulaParser.java:859)
    	at org.apache.poi.hssf.model.FormulaParser.toFormulaString(FormulaParser.java:792)
    	at org.apache.poi.hssf.usermodel.HSSFCell.getCellFormula(HSSFCell.java:662)
    	at org.apache.poi.hssf.usermodel.HSSFFormulaEvaluator.internalEvaluate(HSSFFormulaEvaluator.java:338)
    	at org.apache.poi.hssf.usermodel.HSSFFormulaEvaluator.evaluate(HSSFFormulaEvaluator.java:145)
    ....
    Leider kann ich damit nicht wirklich was anfangen. hat vielleicht jemand den entscheidenden Tipp für mich?
Working...
X