https://bz.apache.org/bugzilla/show_bug.cgi?id=61474

--- Comment #10 from Dragan Jovanović <drjovano...@gmail.com> ---
I can work on Sheet.shiftColumns() method now.

At the moment I am not interested in dealing with CellCopyPolicy details, so
I’d just implement Sheet.shiftColumns(int startColumn, int endColumn, int n),
and leave CellCopyPolicy for later.
I see there is much more to shift rows/couimns than just adjust formulas, so
I’ll have to take care of whole RowShifter class(es). I’ll try to make one XSSF
class which will work as both row shifter and column shifter, and if I run into
complications, maybe I’ll make completely new ColumnShifter. My focus is on
XSSF now, and maybe later we can think about HSSF variation. If you have some
hints about possible hidden issues which I have to take care of while working
on this, please let me know.

I would like to keep that endRow/endColumn parameter just for the case (though
I am not aware of any scenarios where it is needed). I hope it won’t make us a
big complication.

I agree that people will often look for an insertRows/insertColumns method
rather than a shiftRow/shiftColumn method. But shifting can be made in both
directions because it is also used for deletion. A negative value for an insert
method step parameter is not very intuitive, so I would prefer keeping the
names as they are. 

Also, if you don’t mind, I would like to merge some methods from my
CompleteFormulaShifter class content into FormulaShifter, because, in its
essence, CompleteFormulaShifter is an upgraded version od FormulaShifter, I
just did not want to touch existing class at the very begining. In this way,
POI clients may use continue using 
FormulaShifter class, and avoid thinking about improvements.


So my plan now could be :
- merge CompleteFormulaShifter class into FormulaShifter; 
- upgrade XSSFRowShifter to make it work with both rows and columns; 
- maybe move some code from  XSSFSheet.shiftRows() method to XSSFRowShifter
class, just to make code more clear;
- implement XSSFSheet.shiftColumns(int startColumn, int endColumn, final int n)
method.

Does that sound ok ?

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@poi.apache.org
For additional commands, e-mail: dev-h...@poi.apache.org

Reply via email to