https://bz.apache.org/bugzilla/show_bug.cgi?id=61905
--- Comment #18 from Dominik Stadler <[email protected]> --- The Stackoverflow discussion shed some light on this, the following seems to make it work, in POI itself we can do this much cleaner, naturally: /** * Calling just {@code sheet.setActiveCell} has no effect when opening * the file with Microsoft Excel 2016. */ private static void setActiveCell(HSSFSheet sheet, CellAddress address) { sheet.setActiveCell(address); // Following three private fields in a row cannot be the correct path. InternalSheet internalSheet = getField(sheet, "_sheet"); SelectionRecord selection = getField(internalSheet, "_selection"); CellRangeAddress8Bit[] ranges = getField(selection, "field_6_refs"); ranges[0].setFirstColumn(address.getColumn()); ranges[0].setLastColumn(address.getColumn()); ranges[0].setFirstRow(address.getRow()); ranges[0].setLastRow(address.getRow()); } private static <T> T getField(Object obj, String fieldName) { try { Field field = obj.getClass().getDeclaredField(fieldName); field.setAccessible(true); return (T) field.get(obj); } catch (ReflectiveOperationException e) { throw new IllegalStateException(e); } } -- 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]
