XSSFSheet.shiftColumns() ... columnShifter.shiftMergedRegions(startColumn, startColumn, n); should be columnShifter.shiftMergedRegions(startColumn, endColumn, n);
Thanks for the report, this is fixed on trunk via r1883037 along with two tests that were ignored before and now work fine (after fixing the tests themselves as well)
*** Bug 56454 has been marked as a duplicate of this bug. ***