Added ability to copy row height during shift. Also gave the ability to reset the row height on a shift for the original rows.
git-svn-id: https://svn.apache.org/repos/asf/jakarta/poi/trunk@353100 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
0d052c1037
commit
7b6ec9633e
@ -890,13 +890,30 @@ public class HSSFSheet
|
|||||||
/**
|
/**
|
||||||
* Shifts rows between startRow and endRow n number of rows.
|
* Shifts rows between startRow and endRow n number of rows.
|
||||||
* If you use a negative number, it will shift rows up.
|
* If you use a negative number, it will shift rows up.
|
||||||
* Code ensures that rows don't wrap around
|
* Code ensures that rows don't wrap around.
|
||||||
|
*
|
||||||
|
* Calls shiftRows(startRow, endRow, n, false, false);
|
||||||
*
|
*
|
||||||
* @param startRow the row to start shifting
|
* @param startRow the row to start shifting
|
||||||
* @param endRow the row to end shifting
|
* @param endRow the row to end shifting
|
||||||
* @param n the number of rows to shift
|
* @param n the number of rows to shift
|
||||||
*/
|
*/
|
||||||
public void shiftRows( int startRow, int endRow, int n )
|
public void shiftRows( int startRow, int endRow, int n ) {
|
||||||
|
shiftRows(startRow, endRow, n, false, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Shifts rows between startRow and endRow n number of rows.
|
||||||
|
* If you use a negative number, it will shift rows up.
|
||||||
|
* Code ensures that rows don't wrap around
|
||||||
|
*
|
||||||
|
* @param startRow the row to start shifting
|
||||||
|
* @param endRow the row to end shifting
|
||||||
|
* @param n the number of rows to shift
|
||||||
|
* @param copyRowHeight whether to copy the row height during the shift
|
||||||
|
* @param resetOriginalRowHeight whether to set the original row's height to the default
|
||||||
|
*/
|
||||||
|
public void shiftRows( int startRow, int endRow, int n, boolean copyRowHeight, boolean resetOriginalRowHeight)
|
||||||
{
|
{
|
||||||
int s, e, inc;
|
int s, e, inc;
|
||||||
if ( n < 0 )
|
if ( n < 0 )
|
||||||
@ -919,13 +936,24 @@ public class HSSFSheet
|
|||||||
row2Replace = createRow( rowNum + n );
|
row2Replace = createRow( rowNum + n );
|
||||||
|
|
||||||
HSSFCell cell;
|
HSSFCell cell;
|
||||||
|
|
||||||
|
// Removes the cells before over writting them.
|
||||||
for ( short col = row2Replace.getFirstCellNum(); col <= row2Replace.getLastCellNum(); col++ )
|
for ( short col = row2Replace.getFirstCellNum(); col <= row2Replace.getLastCellNum(); col++ )
|
||||||
{
|
{
|
||||||
cell = row2Replace.getCell( col );
|
cell = row2Replace.getCell( col );
|
||||||
if ( cell != null )
|
if ( cell != null )
|
||||||
row2Replace.removeCell( cell );
|
row2Replace.removeCell( cell );
|
||||||
}
|
}
|
||||||
if (row == null) continue;
|
if (row == null) continue; // Nothing to do for this row
|
||||||
|
else {
|
||||||
|
if (copyRowHeight) {
|
||||||
|
row2Replace.setHeight(row.getHeight());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (resetOriginalRowHeight) {
|
||||||
|
row.setHeight((short)0xff);
|
||||||
|
}
|
||||||
|
}
|
||||||
for ( short col = row.getFirstCellNum(); col <= row.getLastCellNum(); col++ )
|
for ( short col = row.getFirstCellNum(); col <= row.getLastCellNum(); col++ )
|
||||||
{
|
{
|
||||||
cell = row.getCell( col );
|
cell = row.getCell( col );
|
||||||
|
Loading…
Reference in New Issue
Block a user