Applied patch from bug #44535 contributed by Paolo Mottadelli <paolo.moz@gmail.com>, <p.mottadelli@sourcesense.com>.
git-svn-id: https://svn.apache.org/repos/asf/poi/branches/ooxml@634772 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
88aa367ec3
commit
f848978e7c
@ -0,0 +1,88 @@
|
||||
/* ====================================================================
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
(the "License"); you may not use this file except in compliance with
|
||||
the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
==================================================================== */
|
||||
package org.apache.poi.xssf.usermodel;
|
||||
|
||||
import org.apache.poi.ss.usermodel.Comment;
|
||||
import org.apache.poi.ss.usermodel.RichTextString;
|
||||
import org.apache.poi.xssf.usermodel.extensions.XSSFSheetComments;
|
||||
import org.apache.poi.xssf.util.CellReference;
|
||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTComment;
|
||||
|
||||
public class XSSFComment implements Comment {
|
||||
|
||||
private CTComment comment;
|
||||
private XSSFSheetComments sheetComments;
|
||||
|
||||
public XSSFComment(XSSFSheetComments sheetComments, CTComment comment) {
|
||||
this.comment = comment;
|
||||
this.sheetComments = sheetComments;
|
||||
}
|
||||
|
||||
public XSSFComment(XSSFSheetComments sheetComments) {
|
||||
this(sheetComments, CTComment.Factory.newInstance());
|
||||
}
|
||||
|
||||
public String getAuthor() {
|
||||
return sheetComments.getAuthor(comment.getAuthorId());
|
||||
}
|
||||
|
||||
public short getColumn() {
|
||||
return (new CellReference(comment.getRef())).getCol();
|
||||
}
|
||||
|
||||
public int getRow() {
|
||||
return (new CellReference(comment.getRef())).getRow();
|
||||
}
|
||||
|
||||
public boolean isVisible() {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
public void setAuthor(String author) {
|
||||
sheetComments.findAuthor(author);
|
||||
}
|
||||
|
||||
public void setColumn(short col) {
|
||||
initializeRef();
|
||||
String newRef = (new CellReference(comment.getRef())).convertRowColToString((short) getRow(), col);
|
||||
comment.setRef(newRef);
|
||||
}
|
||||
|
||||
private void initializeRef() {
|
||||
if (comment.getRef() == null) {
|
||||
comment.setRef("A1");
|
||||
}
|
||||
}
|
||||
|
||||
public void setRow(int row) {
|
||||
initializeRef();
|
||||
String newRef = (new CellReference(comment.getRef())).convertRowColToString((short) row, getColumn());
|
||||
comment.setRef(newRef);
|
||||
}
|
||||
|
||||
public void setString(RichTextString string) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
public void setVisible(boolean visible) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
}
|
@ -23,7 +23,6 @@ import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTDialogsheet;
|
||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTHeaderFooter;
|
||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTPageBreak;
|
||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTPageMargins;
|
||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTPageSetUpPr;
|
||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTPrintOptions;
|
||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTSheet;
|
||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTSheetFormatPr;
|
||||
|
@ -34,6 +34,7 @@ import org.apache.poi.ss.usermodel.Sheet;
|
||||
import org.apache.poi.xssf.usermodel.helpers.ColumnHelper;
|
||||
import org.apache.poi.xssf.util.CellReference;
|
||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTBreak;
|
||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTComment;
|
||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTDialogsheet;
|
||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTHeaderFooter;
|
||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTPageBreak;
|
||||
@ -55,6 +56,7 @@ public class XSSFSheet implements Sheet {
|
||||
protected CTSheet sheet;
|
||||
protected CTWorksheet worksheet;
|
||||
protected CTDialogsheet dialogsheet;
|
||||
protected CTComment comment;
|
||||
protected List<Row> rows;
|
||||
protected ColumnHelper columnHelper;
|
||||
protected XSSFWorkbook workbook;
|
||||
@ -761,13 +763,37 @@ public class XSSFSheet implements Sheet {
|
||||
}
|
||||
|
||||
public void shiftRows(int startRow, int endRow, int n) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
shiftRows(startRow, endRow, n, false, false);
|
||||
}
|
||||
|
||||
public void shiftRows(int startRow, int endRow, int n, boolean copyRowHeight, boolean resetOriginalRowHeight) {
|
||||
// TODO Auto-generated method stub
|
||||
for (Iterator<Row> it = rowIterator() ; it.hasNext() ; ) {
|
||||
Row row = it.next();
|
||||
if (!copyRowHeight) {
|
||||
row.setHeight((short)0);
|
||||
}
|
||||
if (resetOriginalRowHeight && getDefaultRowHeight() >= 0) {
|
||||
row.setHeight(getDefaultRowHeight());
|
||||
}
|
||||
if (removeRow(startRow, endRow, n, row.getRowNum())) {
|
||||
it.remove();
|
||||
}
|
||||
else if (row.getRowNum() >= startRow && row.getRowNum() <= endRow) {
|
||||
row.setRowNum(row.getRowNum() + n);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private boolean removeRow(int startRow, int endRow, int n, int rownum) {
|
||||
if (rownum >= (startRow + n) && rownum <= (endRow + n)) {
|
||||
if (n > 0 && rownum > endRow) {
|
||||
return true;
|
||||
}
|
||||
else if (n < 0 && rownum < startRow) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public void showInPane(short toprow, short leftcol) {
|
||||
|
@ -0,0 +1,60 @@
|
||||
/* ====================================================================
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
(the "License"); you may not use this file except in compliance with
|
||||
the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
==================================================================== */
|
||||
package org.apache.poi.xssf.usermodel.extensions;
|
||||
|
||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTAuthors;
|
||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTComments;
|
||||
|
||||
public class XSSFSheetComments {
|
||||
|
||||
private CTComments comments;
|
||||
|
||||
public XSSFSheetComments() {
|
||||
this(CTComments.Factory.newInstance());
|
||||
}
|
||||
|
||||
public XSSFSheetComments(CTComments comments) {
|
||||
this.comments = comments;
|
||||
}
|
||||
|
||||
public String getAuthor(long authorId) {
|
||||
return getCommentsAuthors().getAuthorArray((int)authorId);
|
||||
}
|
||||
|
||||
public int findAuthor(String author) {
|
||||
for (int i = 0 ; i < getCommentsAuthors().sizeOfAuthorArray() ; i++) {
|
||||
if (getCommentsAuthors().getAuthorArray(i).equals(author)) {
|
||||
return i;
|
||||
}
|
||||
}
|
||||
return addNewAuthor(author);
|
||||
}
|
||||
|
||||
private CTAuthors getCommentsAuthors() {
|
||||
if (comments.getAuthors() == null) {
|
||||
comments.addNewAuthors();
|
||||
}
|
||||
return comments.getAuthors();
|
||||
}
|
||||
|
||||
private int addNewAuthor(String author) {
|
||||
int index = getCommentsAuthors().sizeOfAuthorArray();
|
||||
getCommentsAuthors().insertAuthor(index, author);
|
||||
return index;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,112 @@
|
||||
/* ====================================================================
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
(the "License"); you may not use this file except in compliance with
|
||||
the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
==================================================================== */
|
||||
|
||||
package org.apache.poi.xssf.usermodel;
|
||||
|
||||
import org.apache.poi.xssf.usermodel.extensions.XSSFSheetComments;
|
||||
import org.apache.poi.xssf.util.CellReference;
|
||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTAuthors;
|
||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTComment;
|
||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTComments;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
|
||||
public class TestXSSFComment extends TestCase {
|
||||
|
||||
private static final String TEST_AUTHOR = "test_author";
|
||||
|
||||
public void testConstructors() {
|
||||
XSSFSheetComments sheetComments = new XSSFSheetComments();
|
||||
XSSFComment comment = new XSSFComment(sheetComments);
|
||||
assertNotNull(comment);
|
||||
|
||||
CTComment ctComment = CTComment.Factory.newInstance();
|
||||
XSSFComment comment2 = new XSSFComment(sheetComments, ctComment);
|
||||
assertNotNull(comment2);
|
||||
}
|
||||
|
||||
public void testGetColumn() {
|
||||
XSSFSheetComments sheetComments = new XSSFSheetComments();
|
||||
CTComment ctComment = CTComment.Factory.newInstance();
|
||||
ctComment.setRef("A1");
|
||||
XSSFComment comment = new XSSFComment(sheetComments, ctComment);
|
||||
assertNotNull(comment);
|
||||
assertEquals(0, comment.getColumn());
|
||||
ctComment.setRef("C10");
|
||||
assertEquals(2, comment.getColumn());
|
||||
}
|
||||
|
||||
public void testGetRow() {
|
||||
XSSFSheetComments sheetComments = new XSSFSheetComments();
|
||||
CTComment ctComment = CTComment.Factory.newInstance();
|
||||
ctComment.setRef("A1");
|
||||
XSSFComment comment = new XSSFComment(sheetComments, ctComment);
|
||||
assertNotNull(comment);
|
||||
assertEquals(0, comment.getRow());
|
||||
ctComment.setRef("C10");
|
||||
assertEquals(9, comment.getRow());
|
||||
}
|
||||
|
||||
public void testGetAuthor() {
|
||||
CTComments ctComments = CTComments.Factory.newInstance();
|
||||
CTComment ctComment = ctComments.addNewCommentList().addNewComment();
|
||||
CTAuthors ctAuthors = ctComments.addNewAuthors();
|
||||
ctAuthors.insertAuthor(0, TEST_AUTHOR);
|
||||
ctComment.setAuthorId(0);
|
||||
|
||||
XSSFSheetComments sheetComments = new XSSFSheetComments(ctComments);
|
||||
XSSFComment comment = new XSSFComment(sheetComments, ctComment);
|
||||
assertNotNull(comment);
|
||||
assertEquals(TEST_AUTHOR, comment.getAuthor());
|
||||
}
|
||||
|
||||
public void testSetColumn() {
|
||||
XSSFSheetComments sheetComments = new XSSFSheetComments();
|
||||
CTComment ctComment = CTComment.Factory.newInstance();
|
||||
XSSFComment comment = new XSSFComment(sheetComments, ctComment);
|
||||
comment.setColumn((short)3);
|
||||
assertEquals(3, comment.getColumn());
|
||||
assertEquals(3, (new CellReference(ctComment.getRef()).getCol()));
|
||||
assertEquals("D1", ctComment.getRef());
|
||||
|
||||
comment.setColumn((short)13);
|
||||
assertEquals(13, comment.getColumn());
|
||||
}
|
||||
|
||||
public void testSetRow() {
|
||||
XSSFSheetComments sheetComments = new XSSFSheetComments();
|
||||
CTComment ctComment = CTComment.Factory.newInstance();
|
||||
XSSFComment comment = new XSSFComment(sheetComments, ctComment);
|
||||
comment.setRow(20);
|
||||
assertEquals(20, comment.getRow());
|
||||
assertEquals(20, (new CellReference(ctComment.getRef()).getRow()));
|
||||
assertEquals("A21", ctComment.getRef());
|
||||
|
||||
comment.setRow(19);
|
||||
assertEquals(19, comment.getRow());
|
||||
}
|
||||
|
||||
public void testSetAuthor() {
|
||||
XSSFSheetComments sheetComments = new XSSFSheetComments();
|
||||
CTComment ctComment = CTComment.Factory.newInstance();
|
||||
XSSFComment comment = new XSSFComment(sheetComments, ctComment);
|
||||
comment.setAuthor(TEST_AUTHOR);
|
||||
assertEquals(TEST_AUTHOR, comment.getAuthor());
|
||||
}
|
||||
|
||||
}
|
@ -1,50 +0,0 @@
|
||||
/* ====================================================================
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
(the "License"); you may not use this file except in compliance with
|
||||
the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
==================================================================== */
|
||||
|
||||
package org.apache.poi.xssf.usermodel;
|
||||
|
||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTHeaderFooter;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
|
||||
public class TestXSSFHeaderFooter extends TestCase {
|
||||
|
||||
public void testGetSetCenterLeftRight() {
|
||||
|
||||
XSSFOddFooter footer = new XSSFOddFooter(CTHeaderFooter.Factory.newInstance());
|
||||
assertEquals("", footer.getCenter());
|
||||
footer.setCenter("My first center section");
|
||||
assertEquals("My first center section", footer.getCenter());
|
||||
footer.setCenter("No, let's update the center section");
|
||||
assertEquals("No, let's update the center section", footer.getCenter());
|
||||
footer.setLeft("And add a left one");
|
||||
footer.setRight("Finally the right section is added");
|
||||
assertEquals("And add a left one", footer.getLeft());
|
||||
assertEquals("Finally the right section is added", footer.getRight());
|
||||
|
||||
// Test changing the three sections value
|
||||
footer.setCenter("Second center version");
|
||||
footer.setLeft("Second left version");
|
||||
footer.setRight("Second right version");
|
||||
assertEquals("Second center version", footer.getCenter());
|
||||
assertEquals("Second left version", footer.getLeft());
|
||||
assertEquals("Second right version", footer.getRight());
|
||||
|
||||
}
|
||||
|
||||
}
|
@ -26,9 +26,6 @@ import org.apache.poi.ss.usermodel.Row;
|
||||
import org.apache.poi.ss.usermodel.Sheet;
|
||||
import org.apache.poi.xssf.usermodel.helpers.ColumnHelper;
|
||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCol;
|
||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTDialogsheet;
|
||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTSheet;
|
||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorksheet;
|
||||
|
||||
|
||||
public class TestXSSFSheet extends TestCase {
|
||||
@ -115,6 +112,9 @@ public class TestXSSFSheet extends TestCase {
|
||||
// Set a new default row height in twips and test getting the value in points
|
||||
sheet.setDefaultRowHeight((short) 360);
|
||||
assertEquals((float) 18, sheet.getDefaultRowHeightInPoints());
|
||||
// Test that defaultRowHeight is a truncated short: E.G. 360inPoints -> 18; 361inPoints -> 18
|
||||
sheet.setDefaultRowHeight((short) 361);
|
||||
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());
|
||||
@ -416,4 +416,93 @@ public class TestXSSFSheet extends TestCase {
|
||||
assertEquals((short) 2, sheet.getTopRow());
|
||||
assertEquals((short) 26, sheet.getLeftCol());
|
||||
}
|
||||
|
||||
public void testShiftRows() {
|
||||
XSSFWorkbook workbook = new XSSFWorkbook();
|
||||
|
||||
XSSFSheet sheet = (XSSFSheet) createSheet(workbook, "Sheet 1");
|
||||
sheet.shiftRows(1, 2, 4, true, false);
|
||||
assertEquals((short) 1, sheet.getRow(5).getHeight());
|
||||
assertEquals((short) 2, sheet.getRow(6).getHeight());
|
||||
assertNull(sheet.getRow(1));
|
||||
assertNull(sheet.getRow(2));
|
||||
assertEquals(8, sheet.getPhysicalNumberOfRows());
|
||||
|
||||
XSSFSheet sheet2 = (XSSFSheet) createSheet(workbook, "Sheet 2");
|
||||
sheet2.shiftRows(1, 5, 3, true, false);
|
||||
assertEquals((short) 1, sheet2.getRow(4).getHeight());
|
||||
assertEquals((short) 2, sheet2.getRow(5).getHeight());
|
||||
assertEquals((short) 3, sheet2.getRow(6).getHeight());
|
||||
assertEquals((short) 4, sheet2.getRow(7).getHeight());
|
||||
assertEquals((short) 5, sheet2.getRow(8).getHeight());
|
||||
assertNull(sheet2.getRow(1));
|
||||
assertNull(sheet2.getRow(2));
|
||||
assertNull(sheet2.getRow(3));
|
||||
assertEquals(7, sheet2.getPhysicalNumberOfRows());
|
||||
|
||||
XSSFSheet sheet3 = (XSSFSheet) createSheet(workbook, "Sheet 3");
|
||||
sheet3.shiftRows(5, 7, -3, true, false);
|
||||
assertEquals(5, sheet3.getRow(2).getHeight());
|
||||
assertEquals(6, sheet3.getRow(3).getHeight());
|
||||
assertEquals(7, sheet3.getRow(4).getHeight());
|
||||
assertNull(sheet3.getRow(5));
|
||||
assertNull(sheet3.getRow(6));
|
||||
assertNull(sheet3.getRow(7));
|
||||
assertEquals(7, sheet3.getPhysicalNumberOfRows());
|
||||
|
||||
XSSFSheet sheet4 = (XSSFSheet) createSheet(workbook, "Sheet 4");
|
||||
sheet4.shiftRows(5, 7, -2, true, false);
|
||||
assertEquals(5, sheet4.getRow(3).getHeight());
|
||||
assertEquals(6, sheet4.getRow(4).getHeight());
|
||||
assertEquals(7, sheet4.getRow(5).getHeight());
|
||||
assertNull(sheet4.getRow(6));
|
||||
assertNull(sheet4.getRow(7));
|
||||
assertEquals(8, sheet4.getPhysicalNumberOfRows());
|
||||
|
||||
// Test without copying rowHeight
|
||||
XSSFSheet sheet5 = (XSSFSheet) createSheet(workbook, "Sheet 5");
|
||||
sheet5.shiftRows(5, 7, -2, false, false);
|
||||
assertEquals(-1, sheet5.getRow(3).getHeight());
|
||||
assertEquals(-1, sheet5.getRow(4).getHeight());
|
||||
assertEquals(-1, sheet5.getRow(5).getHeight());
|
||||
assertNull(sheet5.getRow(6));
|
||||
assertNull(sheet5.getRow(7));
|
||||
assertEquals(8, sheet5.getPhysicalNumberOfRows());
|
||||
|
||||
// Test without copying rowHeight and resetting to default height
|
||||
XSSFSheet sheet6 = (XSSFSheet) createSheet(workbook, "Sheet 6");
|
||||
sheet6.setDefaultRowHeight((short) 200);
|
||||
sheet6.shiftRows(5, 7, -2, false, true);
|
||||
assertEquals(200, sheet6.getRow(3).getHeight());
|
||||
assertEquals(200, sheet6.getRow(4).getHeight());
|
||||
assertEquals(200, sheet6.getRow(5).getHeight());
|
||||
assertNull(sheet6.getRow(6));
|
||||
assertNull(sheet6.getRow(7));
|
||||
assertEquals(8, sheet6.getPhysicalNumberOfRows());
|
||||
}
|
||||
|
||||
private XSSFSheet createSheet(XSSFWorkbook workbook, String name) {
|
||||
XSSFSheet sheet = (XSSFSheet) workbook.createSheet(name);
|
||||
Row row0 = sheet.createRow(0);
|
||||
row0.setHeight((short) 1);
|
||||
Row row1 = sheet.createRow(1);
|
||||
row1.setHeight((short) 1);
|
||||
Row row2 = sheet.createRow(2);
|
||||
row2.setHeight((short) 2);
|
||||
Row row3 = sheet.createRow(3);
|
||||
row3.setHeight((short) 3);
|
||||
Row row4 = sheet.createRow(4);
|
||||
row4.setHeight((short) 4);
|
||||
Row row5 = sheet.createRow(5);
|
||||
row5.setHeight((short) 5);
|
||||
Row row6 = sheet.createRow(6);
|
||||
row6.setHeight((short) 6);
|
||||
Row row7 = sheet.createRow(7);
|
||||
row7.setHeight((short) 7);
|
||||
Row row8 = sheet.createRow(8);
|
||||
row8.setHeight((short) 8);
|
||||
Row row9 = sheet.createRow(9);
|
||||
row9.setHeight((short) 9);
|
||||
return sheet;
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,51 @@
|
||||
/* ====================================================================
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
(the "License"); you may not use this file except in compliance with
|
||||
the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License
|
||||
==================================================================== */
|
||||
|
||||
package org.apache.poi.xssf.usermodel.extensions;
|
||||
|
||||
import org.apache.poi.xssf.usermodel.XSSFOddFooter;
|
||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTHeaderFooter;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
|
||||
public class TestXSSFHeaderFooter extends TestCase {
|
||||
|
||||
public void testGetSetCenterLeftRight() {
|
||||
|
||||
XSSFOddFooter footer = new XSSFOddFooter(CTHeaderFooter.Factory.newInstance());
|
||||
assertEquals("", footer.getCenter());
|
||||
footer.setCenter("My first center section");
|
||||
assertEquals("My first center section", footer.getCenter());
|
||||
footer.setCenter("No, let's update the center section");
|
||||
assertEquals("No, let's update the center section", footer.getCenter());
|
||||
footer.setLeft("And add a left one");
|
||||
footer.setRight("Finally the right section is added");
|
||||
assertEquals("And add a left one", footer.getLeft());
|
||||
assertEquals("Finally the right section is added", footer.getRight());
|
||||
|
||||
// Test changing the three sections value
|
||||
footer.setCenter("Second center version");
|
||||
footer.setLeft("Second left version");
|
||||
footer.setRight("Second right version");
|
||||
assertEquals("Second center version", footer.getCenter());
|
||||
assertEquals("Second left version", footer.getLeft());
|
||||
assertEquals("Second right version", footer.getRight());
|
||||
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,39 @@
|
||||
/* ====================================================================
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
(the "License"); you may not use this file except in compliance with
|
||||
the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
==================================================================== */
|
||||
|
||||
package org.apache.poi.xssf.usermodel.extensions;
|
||||
|
||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTComments;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
|
||||
public class TestXSSFSheetComments extends TestCase {
|
||||
|
||||
private static final String TEST_AUTHOR = "test author";
|
||||
|
||||
public void testfindAuthor() {
|
||||
CTComments comments = CTComments.Factory.newInstance();
|
||||
XSSFSheetComments sheetComments = new XSSFSheetComments(comments);
|
||||
|
||||
assertEquals(0, sheetComments.findAuthor(TEST_AUTHOR));
|
||||
assertEquals(1, sheetComments.findAuthor("another author"));
|
||||
assertEquals(0, sheetComments.findAuthor(TEST_AUTHOR));
|
||||
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue
Block a user