Created attachment 30350 [details] new function DEc2Hex with testcases new function DEc2Hex with testcases
Thanks for the patch, applied in r1488729 I had to revert FunctionMetadataReader.java because it contained a debug code specific for your local environment: public static FunctionMetadataRegistry createRegistry() { - InputStream is = FunctionMetadataReader.class.getResourceAsStream(METADATA_FILE_NAME); + InputStream is = null; + try { + is = new FileInputStream("C:\\innoveo\\workspace\\apache-poi-complexwildcard\\poi\\src\\resources\\main\\org\\apache\\poi\\ss\\formula\\function\\functionMetadata.txt"); + } catch (FileNotFoundException e) { + e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. + } + //FunctionMetadataReader.class.getResourceAsStream(METADATA_FILE_NAME); if (is == null) { throw new RuntimeException("resource '" + METADATA_FILE_NAME + "' not found"); Yegor
There is some work to do . Dec2Hex is a function from the Excel Analysis Toolpack . It needs to implement FreeRefFunction and be registered in org.apache.poi.ss.formula.atp.AnalysisToolPak. Otherwise the formula evaluator will not find it. What you need to do: (1) Declare Dec2Hex as implementing FreeRefFunction . There is one method to implement and you need to simply delegate it to the existing implementation: public ValueEval evaluate(ValueEval[] args, OperationEvaluationContext ec) { if (args.length != 2) { return ErrorEval.VALUE_INVALID; } return evaluate(ec.getRowIndex(), ec.getColumnIndex(), args[0], args[1]); } (2) register Dec2Hex in AnalysisToolPack, see how other functions are registered and follow the pattern. (3) Provide a test(s) that evaluate functions from a real excel file. Attach the modified test workbook to this bug report. Yegor
Created attachment 30373 [details] Tests Dec2Hex() as loaded from a test data spreadsheet
Created attachment 30374 [details] DEC2HEX_2.patch + test loader from spreadsheet found also a bug while doing integration tests in excel (negative integer), now solved
merged in 1531395