A new attribute shiftMode was added to Command class.
It defines how cells are shifted when the Command is being processed.
There are two possible values:
inner - means the current behaviour where only cells below or at the right of the command area are shifted
adjacent - all cells below or at the right side of the command are shifted.
To achieve what you want in your case you should set shiftMode attribute to adjacent value for Each-Command for cities and houses.
Possibly it make sense to set it as default behavior. But since no one else complained on this I have decided to keep the original behavior (inner shiftMode is the default one). But it may change in future. Also there is an option to make it configurable via transformer to avoid setting it for every command. But for now you should set it for every command where you need this behavior.
The fix is planned to be released with Jxls-2.2.3 version.
adjacent shifting works fine when it goes down, but shifting at the right side is not working. Cell which must be shifted stays untoched. And value from list item, which must be in that cell, is missing. Same is true for inner.