Summary: | if a formula contains optional argument, it throws a runtime exception | ||
---|---|---|---|
Product: | POI | Reporter: | hawkchen |
Component: | XSSF | Assignee: | POI Developers List <dev> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | hawkchen |
Priority: | P2 | ||
Version: | 3.8-FINAL | ||
Target Milestone: | --- | ||
Hardware: | PC | ||
OS: | All |
Description
hawkchen
2013-05-31 07:46:19 UTC
Suggested solution: in public abstract class FinanceFunction implements Function3Arg, Function4Arg { ... public ValueEval evaluate(ValueEval[] args, int srcRowIndex, int srcColumnIndex) { switch (args.length) { case 3: return evaluate(srcRowIndex, srcColumnIndex, args[0], args[1], args[2], DEFAULT_ARG3, DEFAULT_ARG4); case 4: return evaluate(srcRowIndex, srcColumnIndex, args[0], args[1], args[2], args[3], DEFAULT_ARG4); case 5: return evaluate(srcRowIndex, srcColumnIndex, args[0], args[1], args[2], args[3], args[4]); } return ErrorEval.VALUE_INVALID; } Convert MissArgEval to DEFAULT_ARG3 or DEFAULT_ARG4 in case 4 and case 5. |