https://bz.apache.org/bugzilla/show_bug.cgi?id=61385
Bug ID: 61385 Summary: NegativeArraySizeException when function has more than 127 arguments Product: POI Version: 3.16-FINAL Hardware: PC Status: NEW Severity: normal Priority: P2 Component: XSSF Assignee: dev@poi.apache.org Reporter: mic...@michal.waw.pl Target Milestone: --- POI throws java.lang.NegativeArraySizeException when trying to evaluate formula with more than 127 arguments. Trying this: formulaCell.setCellFormula("SUM(C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42,C43,C44,C45,C46,C47,C48,C49,C50,C51,C52,C53,C54,C55,C56,C57,C58,C59,C60,C61,C62,C63,C64,C65,C66,C67,C68,C69,C70,C71,C72,C73,C74,C75,C76,C77,C78,C79,C80,C81,C82,C83,C84,C85,C86,C87,C88,C89,C90,C91,C92,C93,C94,C95,C96,C97,C98,C99,C100,C101,C102,C103,C104,C105,C106,C107,C108,C109,C110,C111,C112,C113,C114,C115,C116,C117,C118,C119,C120,C121,C122,C123,C124,C125,C126,C127,C128,C129,C130)"); formulaCell.getSheet().getWorkbook().getCreationHelper().createFormulaEvaluator().evaluateFormulaCell(formulaCell); Results in: java.lang.NegativeArraySizeException at org.apache.poi.ss.formula.WorkbookEvaluator.evaluateFormula(WorkbookEvaluator.java:515) at org.apache.poi.ss.formula.WorkbookEvaluator.evaluateAny(WorkbookEvaluator.java:290) at org.apache.poi.ss.formula.WorkbookEvaluator.evaluate(WorkbookEvaluator.java:232) at org.apache.poi.xssf.usermodel.BaseXSSFFormulaEvaluator.evaluateFormulaCellValue(BaseXSSFFormulaEvaluator.java:65) at org.apache.poi.ss.formula.BaseFormulaEvaluator.evaluateFormulaCellEnum(BaseFormulaEvaluator.java:192) at org.apache.poi.ss.formula.BaseFormulaEvaluator.evaluateFormulaCell(BaseFormulaEvaluator.java:164) Seems that AbstractFunctionPtg.getNumberOfOperands() wraps because org.apache.poi.ss.formula.ptg.AbstractFunctionPtg#_numberOfArgs is of type "byte". Excel allows up to 255 arguments so this type seems incorrect. Also there should be a check for exceeding allowed number of parameters - such errors are hard to diagnose. -- You are receiving this mail because: You are the assignee for the bug. --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@poi.apache.org For additional commands, e-mail: dev-h...@poi.apache.org