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:
Ugo Cei 2008-01-22 14:26:10 +00:00
parent bd8185c485
commit 9db93d7661
4 changed files with 70 additions and 31 deletions

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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

View File

@ -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());
}
}