https://bz.apache.org/bugzilla/show_bug.cgi?id=62254
Bug ID: 62254
Summary: OFFSET function fails when 2nd or 3rd arguments are
missing
Product: POI
Version: 3.17-FINAL
Hardware: PC
Status: NEW
Severity: minor
Priority: P2
Component: SS Common
Assignee: [email protected]
Reporter: [email protected]
Target Milestone: ---
Created attachment 35836
--> https://bz.apache.org/bugzilla/attachment.cgi?id=35836&action=edit
patch
According to the Microsoft documentation, 2 and 3 arguments to the OFFSET
function are mandatory. However, Excel 2010 allows the function to be written
as OFFSET(ref, , ); empty arguments are treated as zeros.
The patch for Offset.java seems pretty easy to implement:
172,173c172,173
< int rowOffset = evaluateIntArg(args[1], srcCellRow,
srcCellCol);
< int columnOffset = evaluateIntArg(args[2], srcCellRow,
srcCellCol);
---
> int rowOffset = (args[1] instanceof MissingArgEval) ? 0
> : evaluateIntArg(args[1], srcCellRow, srcCellCol);
> int columnOffset = (args[2] instanceof MissingArgEval)
> ? 0 : evaluateIntArg(args[2], srcCellRow, srcCellCol);
I also attach a test case
There was a patch https://bz.apache.org/bugzilla/show_bug.cgi?id=58339 that
introduced the same behavior for optional arguments 4, 5.
--
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]