Implementation of XSSFRow#{get,set}Height and other methods.
Patch contributed by Paolo Mottadelli <paolo.moz@gmail.com>. git-svn-id: https://svn.apache.org/repos/asf/poi/branches/ooxml@614205 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
bd8185c485
commit
9db93d7661
@ -124,13 +124,17 @@ public class XSSFRow implements Row {
|
||||
}
|
||||
|
||||
public short getHeight() {
|
||||
// TODO Auto-generated method stub
|
||||
return 0;
|
||||
if (this.row.getHt() > 0) {
|
||||
return (short) (this.row.getHt() * 20);
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
public float getHeightInPoints() {
|
||||
// TODO Auto-generated method stub
|
||||
return 0;
|
||||
if (this.row.getHt() > 0) {
|
||||
return (short) this.row.getHt();
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
public short getLastCellNum() {
|
||||
@ -159,8 +163,7 @@ public class XSSFRow implements Row {
|
||||
}
|
||||
|
||||
public boolean getZeroHeight() {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
return this.row.getHidden();
|
||||
}
|
||||
|
||||
public void removeCell(Cell cell) {
|
||||
@ -177,13 +180,11 @@ public class XSSFRow implements Row {
|
||||
}
|
||||
|
||||
public void setHeight(short height) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
this.row.setHt((double) height / 20);
|
||||
}
|
||||
|
||||
public void setHeightInPoints(float height) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
this.row.setHt((double) height);
|
||||
}
|
||||
|
||||
public void setRowNum(int rowNum) {
|
||||
@ -192,7 +193,7 @@ public class XSSFRow implements Row {
|
||||
}
|
||||
|
||||
public void setZeroHeight(boolean height) {
|
||||
// TODO Auto-generated method stub
|
||||
this.row.setHidden(height);
|
||||
|
||||
}
|
||||
|
||||
|
@ -65,20 +65,20 @@ public class XSSFSheet implements Sheet {
|
||||
CTSelection selection = view.addNewSelection();
|
||||
selection.setActiveCell("A1");
|
||||
CTSheetFormatPr format = this.worksheet.addNewSheetFormatPr();
|
||||
format.setDefaultColWidth(13.2307692307692);
|
||||
format.setDefaultRowHeight(13);
|
||||
format.setDefaultColWidth(13);
|
||||
format.setDefaultRowHeight(15);
|
||||
format.setCustomHeight(true);
|
||||
CTCols cols = this.worksheet.addNewCols();
|
||||
CTCol col = cols.addNewCol();
|
||||
col.setMin(1);
|
||||
col.setMax(2);
|
||||
col.setWidth(13.2307692307692);
|
||||
col.setWidth(13);
|
||||
col.setCustomWidth(true);
|
||||
for (int i = 3 ; i < 5 ; ++i) {
|
||||
col = cols.addNewCol();
|
||||
col.setMin(i);
|
||||
col.setMax(i);
|
||||
col.setWidth(13.2307692307692);
|
||||
col.setWidth(13);
|
||||
col.setCustomWidth(true);
|
||||
}
|
||||
CTHeaderFooter hf = this.worksheet.addNewHeaderFooter();
|
||||
@ -185,18 +185,15 @@ public class XSSFSheet implements Sheet {
|
||||
}
|
||||
|
||||
public short getDefaultColumnWidth() {
|
||||
// TODO Auto-generated method stub
|
||||
return 0;
|
||||
return (short) this.worksheet.getSheetFormatPr().getDefaultColWidth();
|
||||
}
|
||||
|
||||
public short getDefaultRowHeight() {
|
||||
// TODO Auto-generated method stub
|
||||
return 0;
|
||||
return (short) (this.worksheet.getSheetFormatPr().getDefaultRowHeight() * 20);
|
||||
}
|
||||
|
||||
public float getDefaultRowHeightInPoints() {
|
||||
// TODO Auto-generated method stub
|
||||
return 0;
|
||||
return (short) this.worksheet.getSheetFormatPr().getDefaultRowHeight();
|
||||
}
|
||||
|
||||
public boolean getDialog() {
|
||||
@ -440,7 +437,6 @@ public class XSSFSheet implements Sheet {
|
||||
|
||||
public void setColumnWidth(short column, short width) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
public void setDefaultColumnStyle(short column, CellStyle style) {
|
||||
@ -449,17 +445,16 @@ public class XSSFSheet implements Sheet {
|
||||
}
|
||||
|
||||
public void setDefaultColumnWidth(short width) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
this.worksheet.getSheetFormatPr().setDefaultColWidth((double) width);
|
||||
}
|
||||
|
||||
public void setDefaultRowHeight(short height) {
|
||||
// TODO Auto-generated method stub
|
||||
this.worksheet.getSheetFormatPr().setDefaultRowHeight(height / 20);
|
||||
|
||||
}
|
||||
|
||||
public void setDefaultRowHeightInPoints(float height) {
|
||||
// TODO Auto-generated method stub
|
||||
this.worksheet.getSheetFormatPr().setDefaultRowHeight(height);
|
||||
|
||||
}
|
||||
|
||||
|
@ -141,6 +141,28 @@ public class TestXSSFRow extends TestCase {
|
||||
|
||||
}
|
||||
|
||||
public void testGetSetHeight() throws Exception {
|
||||
XSSFRow row = getSampleRow();
|
||||
// I assume that "ht" attribute value is in 'points', please verify that
|
||||
// Test that no rowHeight is set
|
||||
assertEquals((short) -1, row.getHeight());
|
||||
// Set a rowHeight in twips (1/20th of a point) and test the new value
|
||||
row.setHeight((short) 240);
|
||||
assertEquals((short) 240, row.getHeight());
|
||||
assertEquals((float) 12, row.getHeightInPoints());
|
||||
// Set a new rowHeight in points and test the new value
|
||||
row.setHeightInPoints((float) 13);
|
||||
assertEquals((float) 13, row.getHeightInPoints());
|
||||
assertEquals((short) 260, row.getHeight());
|
||||
}
|
||||
|
||||
public void testGetSetZeroHeight() throws Exception {
|
||||
XSSFRow row = getSampleRow();
|
||||
assertFalse(row.getZeroHeight());
|
||||
row.setZeroHeight(true);
|
||||
assertTrue(row.getZeroHeight());
|
||||
}
|
||||
|
||||
/**
|
||||
* Method that returns a row with some sample cells
|
||||
* @return row
|
||||
|
@ -86,8 +86,29 @@ public class TestXSSFSheet extends TestCase {
|
||||
Row row2_overwritten_copy = it2.next();
|
||||
assertEquals(row2_ovrewritten, row2_overwritten_copy);
|
||||
assertEquals(row2_overwritten_copy.getCell((short) 0).getNumericCellValue(), (double) 100);
|
||||
}
|
||||
|
||||
public void testGetSetDefaultRowHeight() throws Exception {
|
||||
XSSFWorkbook workbook = new XSSFWorkbook();
|
||||
Sheet sheet = workbook.createSheet("Sheet 1");
|
||||
// Test that default height set by the constructor
|
||||
assertEquals((short) 300, sheet.getDefaultRowHeight());
|
||||
assertEquals((float) 15, sheet.getDefaultRowHeightInPoints());
|
||||
// Set a new default row height in twips and test getting the value in points
|
||||
sheet.setDefaultRowHeight((short) 360);
|
||||
assertEquals((float) 18, sheet.getDefaultRowHeightInPoints());
|
||||
// Set a new default row height in points and test getting the value in twips
|
||||
sheet.setDefaultRowHeightInPoints((short) 17);
|
||||
assertEquals((short) 340, sheet.getDefaultRowHeight());
|
||||
}
|
||||
|
||||
|
||||
public void testGetSetDefaultColumnWidth() throws Exception {
|
||||
XSSFWorkbook workbook = new XSSFWorkbook();
|
||||
Sheet sheet = workbook.createSheet("Sheet 1");
|
||||
// Test that default column width set by the constructor
|
||||
assertEquals((short) 13, sheet.getDefaultColumnWidth());
|
||||
// Set a new default column width and get its value
|
||||
sheet.setDefaultColumnWidth((short) 14);
|
||||
assertEquals((short) 14, sheet.getDefaultColumnWidth());
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user