CommonObjectDataSubRecord cod = (CommonObjectDataSubRecord) getObjRecord().getSubRecords().get(0);
cod.setObjectId((short) (shapeId % 1024));
_note.setShapeId(shapeId % 1024);
- /* This breaks TestCloneSheets!
- * cod.setObjectId(shapeId);
- _note.setShapeId(shapeId); */
}
/**
package org.apache.poi.xssf.streaming;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
import java.io.File;
import java.io.FileOutputStream;
assertEquals("value?", cell.getStringCellValue());
assertTrue(wb.dispose());
+
}
@Test
}
@Test
- public void workbookDispose() throws IOException
+ public void workbookDispose()
{
SXSSFWorkbook wb = new SXSSFWorkbook();
// the underlying writer is SheetDataWriter
assertWorkbookDispose(wb);
- wb.close();
-
+
wb = new SXSSFWorkbook();
wb.setCompressTempFiles(true);
// the underlying writer is GZIPSheetDataWriter
assertWorkbookDispose(wb);
- wb.close();
}
Workbook wb = new SXSSFWorkbook(10);
populateWorkbook(wb);
saveTwice(wb);
- wb.close();
-
wb = new XSSFWorkbook();
populateWorkbook(wb);
saveTwice(wb);
- wb.close();
}
// Crashes the JVM because of documented JVM behavior with concurrent writing/reading of zip-files
} finally {
assertTrue(wb.dispose());
}
- wb.close();
}
out.delete();
}
private static class NullOutputStream extends OutputStream {
@Override
public void write(int b) throws IOException {
- // nothing to do here
}
}
-
- @Test
- public void testBug54523() throws IOException {
- SXSSFWorkbook wb = new SXSSFWorkbook(100);
- Sheet sh = wb.createSheet();
-
- for (int i = 0; i < 81000; i++) {
- Row row = sh.createRow(i);
- for (int j = 0; j < 1000; j++) {
- Cell cell = row.createCell(j);
- cell.setCellValue("dddd");
- }
- if (i % 100 == 0){
- System.out.println("x - " + i);
- }
- }
-
- FileOutputStream out = new FileOutputStream("C:\\temp\\54523_large.xlsx");
- wb.write(out);
- out.close();
- wb.dispose();
- wb.close();
- }
}
package org.apache.poi.xssf.usermodel;
-import java.util.ArrayList;
-import java.util.List;
-
import org.apache.poi.ss.SpreadsheetVersion;
import org.apache.poi.ss.usermodel.BaseTestRow;
-import org.apache.poi.ss.usermodel.Cell;
-import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.xssf.XSSFITestDataProvider;
-import org.apache.poi.xssf.XSSFTestDataSamples;
/**
* Tests for XSSFRow
public void testCellBounds() {
baseTestCellBounds(SpreadsheetVersion.EXCEL2007.getLastColumnIndex());
}
-
- public void test56490() {
- XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("56490.xlsx");
- XSSFSheet sheet = wb.getSheetAt(0);
-
- String columnWanted = "Link";
- Integer columnNo = null;
- List<Cell> cells = new ArrayList<Cell>();
-
- // TODO: change this!!
- assertEquals(-1, sheet.getFirstRowNum());
- assertEquals(-1, sheet.getLastRowNum());
-
- Row firstRow = sheet.getRow(-1);
- assertNotNull(firstRow);
- assertNotNull(firstRow.iterator());
-
- for(Row row : sheet) {
- for(Cell cell : row) {
- System.out.println("Cell in Row: " + row.getRowNum() + ": " + cell.toString());
- }
- }
-
- for (Cell cell : firstRow) {
- if (cell.getStringCellValue().equals(columnWanted)) {
- columnNo = cell.getColumnIndex();
- }
- }
-
- if (columnNo != null) {
- for (Row row : sheet) {
- Cell c = row.getCell(columnNo);
- if (c == null || c.getCellType() == Cell.CELL_TYPE_BLANK) {
- } else {
- cells.add(c);
- }
-
- }
-
- } else {
- System.out.println("could not find column" + columnWanted
- + "in first row");
- }
- }
}
package org.apache.poi.xssf.usermodel;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
import java.io.ByteArrayOutputStream;
import java.io.File;
import org.apache.poi.openxml4j.opc.PackagingURIHelper;
import org.apache.poi.openxml4j.opc.internal.MemoryPackagePart;
import org.apache.poi.openxml4j.opc.internal.PackagePropertiesPart;
-import org.apache.poi.ss.usermodel.*;
+
+import org.apache.poi.ss.usermodel.BaseTestWorkbook;
+import org.apache.poi.ss.usermodel.Cell;
+import org.apache.poi.ss.usermodel.CellStyle;
+import org.apache.poi.ss.usermodel.Font;
+import org.apache.poi.ss.usermodel.IndexedColors;
+import org.apache.poi.ss.usermodel.RichTextString;
+import org.apache.poi.ss.usermodel.Row;
+import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.ss.usermodel.Workbook;
+import org.apache.poi.ss.usermodel.WorkbookFactory;
import org.apache.poi.ss.util.AreaReference;
import org.apache.poi.ss.util.CellReference;
import org.apache.poi.util.IOUtils;
setPivotData(wb2);
assertTrue(wb2.getPivotTables().size() == 2);
}
-
- @Test
- public void testBug55644() throws IOException {
- XSSFWorkbook wb = new XSSFWorkbook();
- XSSFSheet sheet = wb.createSheet("students");
- XSSFRow row = sheet.createRow(1);
- XSSFCell cell = row.createCell(1);
- cell.setCellValue("sandeepzzzzzzzzzzzzzzzzzzzzzzzzz");
- sheet.autoSizeColumn(1);
-
- FileOutputStream fileOut = new FileOutputStream("C:\\temp\\55644.xlsx");
- wb.write(fileOut);
- fileOut.close();
-
- wb.close();
- }
}
_sampleDataIsAvaliableOnClassPath = true;\r
return;\r
}\r
- \r
- dataDirName = "test-data";\r
\r
- /*throw new RuntimeException("Must set system property '" +\r
- TEST_PROPERTY + "' before running tests");*/\r
+ throw new RuntimeException("Must set system property '" +\r
+ TEST_PROPERTY + "' before running tests");\r
}\r
File dataDir = new File(dataDirName, _moduleDir);\r
if (!dataDir.exists()) {\r
import junit.framework.TestCase;
import org.apache.poi.hssf.HSSFTestDataSamples;
-import org.apache.poi.hssf.dev.BiffViewer;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.Row;
assertEquals("LAST ROW ", 0, s.getLastRowNum());
assertEquals("FIRST ROW ", 0, s.getFirstRowNum());
}
-
+
public void testHashEquals() {
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet s = wb.createSheet();
HSSFRow row = s.createRow(0);
HSSFCell cell1 = row.createCell(1);
HSSFCell cell2 = row.createCell(2);
-
+
cs1.setDataFormat(HSSFDataFormat.getBuiltinFormat("m/d/yy"));
cs2.setDataFormat(HSSFDataFormat.getBuiltinFormat("m/dd/yy"));
-
+
cell1.setCellStyle(cs1);
cell1.setCellValue(new Date());
-
+
cell2.setCellStyle(cs2);
cell2.setCellValue(new Date());
-
+
assertEquals(cs1.hashCode(), cs1.hashCode());
assertEquals(cs2.hashCode(), cs2.hashCode());
assertTrue(cs1.equals(cs1));
assertTrue(cs2.equals(cs2));
-
+
// Change cs1, hash will alter
int hash1 = cs1.hashCode();
cs1.setDataFormat(HSSFDataFormat.getBuiltinFormat("m/dd/yy"));
assertEquals("LAST ROW == 99", 99, s.getLastRowNum());
assertEquals("FIRST ROW == 0", 0, s.getFirstRowNum());
}
-
+
/**
* Cloning one HSSFCellStyle onto Another, same
* HSSFWorkbook
HSSFFont fnt = wb.createFont();
fnt.setFontName("TestingFont");
assertEquals(5, wb.getNumberOfFonts());
-
+
HSSFCellStyle orig = wb.createCellStyle();
orig.setAlignment(HSSFCellStyle.ALIGN_RIGHT);
orig.setFont(fnt);
orig.setDataFormat((short)18);
-
+
assertTrue(HSSFCellStyle.ALIGN_RIGHT == orig.getAlignment());
assertTrue(fnt == orig.getFont(wb));
assertTrue(18 == orig.getDataFormat());
-
+
HSSFCellStyle clone = wb.createCellStyle();
assertFalse(HSSFCellStyle.ALIGN_RIGHT == clone.getAlignment());
assertFalse(fnt == clone.getFont(wb));
assertFalse(18 == clone.getDataFormat());
-
+
clone.cloneStyleFrom(orig);
assertTrue(HSSFCellStyle.ALIGN_RIGHT == clone.getAlignment());
assertTrue(fnt == clone.getFont(wb));
assertTrue(18 == clone.getDataFormat());
assertEquals(5, wb.getNumberOfFonts());
}
-
+
/**
* Cloning one HSSFCellStyle onto Another, across
* two different HSSFWorkbooks
*/
public void testCloneStyleDiffWB() {
HSSFWorkbook wbOrig = new HSSFWorkbook();
-
+
HSSFFont fnt = wbOrig.createFont();
fnt.setFontName("TestingFont");
assertEquals(5, wbOrig.getNumberOfFonts());
-
+
HSSFDataFormat fmt = wbOrig.createDataFormat();
fmt.getFormat("MadeUpOne");
fmt.getFormat("MadeUpTwo");
-
+
HSSFCellStyle orig = wbOrig.createCellStyle();
orig.setAlignment(HSSFCellStyle.ALIGN_RIGHT);
orig.setFont(fnt);
orig.setDataFormat(fmt.getFormat("Test##"));
-
+
assertTrue(HSSFCellStyle.ALIGN_RIGHT == orig.getAlignment());
assertTrue(fnt == orig.getFont(wbOrig));
assertTrue(fmt.getFormat("Test##") == orig.getDataFormat());
-
+
// Now a style on another workbook
HSSFWorkbook wbClone = new HSSFWorkbook();
assertEquals(4, wbClone.getNumberOfFonts());
HSSFDataFormat fmtClone = wbClone.createDataFormat();
-
+
HSSFCellStyle clone = wbClone.createCellStyle();
assertEquals(4, wbClone.getNumberOfFonts());
-
+
assertFalse(HSSFCellStyle.ALIGN_RIGHT == clone.getAlignment());
assertFalse("TestingFont" == clone.getFont(wbClone).getFontName());
-
+
clone.cloneStyleFrom(orig);
assertTrue(HSSFCellStyle.ALIGN_RIGHT == clone.getAlignment());
assertTrue("TestingFont" == clone.getFont(wbClone).getFontName());
assertFalse(fmtClone.getFormat("Test##") == fmt.getFormat("Test##"));
assertEquals(5, wbClone.getNumberOfFonts());
}
-
+
public void testStyleNames() {
HSSFWorkbook wb = openSample("WithExtendedStyles.xls");
HSSFSheet s = wb.getSheetAt(0);
HSSFCell c1 = s.getRow(0).getCell(0);
HSSFCell c2 = s.getRow(1).getCell(0);
HSSFCell c3 = s.getRow(2).getCell(0);
-
+
HSSFCellStyle cs1 = c1.getCellStyle();
HSSFCellStyle cs2 = c2.getCellStyle();
HSSFCellStyle cs3 = c3.getCellStyle();
-
+
assertNotNull(cs1);
assertNotNull(cs2);
assertNotNull(cs3);
-
+
// Check we got the styles we'd expect
assertEquals(10, cs1.getFont(wb).getFontHeightInPoints());
assertEquals(9, cs2.getFont(wb).getFontHeightInPoints());
assertEquals(12, cs3.getFont(wb).getFontHeightInPoints());
-
+
assertEquals(15, cs1.getIndex());
assertEquals(23, cs2.getIndex());
assertEquals(24, cs3.getIndex());
-
+
assertNull(cs1.getParentStyle());
assertNotNull(cs2.getParentStyle());
assertNotNull(cs3.getParentStyle());
-
+
assertEquals(21, cs2.getParentStyle().getIndex());
assertEquals(22, cs3.getParentStyle().getIndex());
-
- // Now check we can get style records for
+
+ // Now check we can get style records for
// the parent ones
assertNull(wb.getWorkbook().getStyleRecord(15));
assertNull(wb.getWorkbook().getStyleRecord(23));
assertNull(wb.getWorkbook().getStyleRecord(24));
-
+
assertNotNull(wb.getWorkbook().getStyleRecord(21));
assertNotNull(wb.getWorkbook().getStyleRecord(22));
-
+
// Now check the style names
assertEquals(null, cs1.getUserStyleName());
assertEquals(null, cs2.getUserStyleName());
c4.setCellStyle(cs2);
assertEquals("style1", c4.getCellStyle().getParentStyle().getUserStyleName());
}
-
+
public void testGetSetBorderHair() {
HSSFWorkbook wb = openSample("55341_CellStyleBorder.xls");
HSSFSheet s = wb.getSheetAt(0);
HSSFCellStyle cs;
- cs = s.getRow(0).getCell(0).getCellStyle();
- assertEquals(CellStyle.BORDER_HAIR, cs.getBorderRight());
+ cs = s.getRow(0).getCell(0).getCellStyle();
+ assertEquals(CellStyle.BORDER_HAIR, cs.getBorderRight());
- cs = s.getRow(1).getCell(1).getCellStyle();
- assertEquals(CellStyle.BORDER_DOTTED, cs.getBorderRight());
+ cs = s.getRow(1).getCell(1).getCellStyle();
+ assertEquals(CellStyle.BORDER_DOTTED, cs.getBorderRight());
- cs = s.getRow(2).getCell(2).getCellStyle();
- assertEquals(CellStyle.BORDER_DASH_DOT_DOT, cs.getBorderRight());
+ cs = s.getRow(2).getCell(2).getCellStyle();
+ assertEquals(CellStyle.BORDER_DASH_DOT_DOT, cs.getBorderRight());
- cs = s.getRow(3).getCell(3).getCellStyle();
- assertEquals(CellStyle.BORDER_DASHED, cs.getBorderRight());
+ cs = s.getRow(3).getCell(3).getCellStyle();
+ assertEquals(CellStyle.BORDER_DASHED, cs.getBorderRight());
- cs = s.getRow(4).getCell(4).getCellStyle();
- assertEquals(CellStyle.BORDER_THIN, cs.getBorderRight());
+ cs = s.getRow(4).getCell(4).getCellStyle();
+ assertEquals(CellStyle.BORDER_THIN, cs.getBorderRight());
- cs = s.getRow(5).getCell(5).getCellStyle();
- assertEquals(CellStyle.BORDER_MEDIUM_DASH_DOT_DOT, cs.getBorderRight());
+ cs = s.getRow(5).getCell(5).getCellStyle();
+ assertEquals(CellStyle.BORDER_MEDIUM_DASH_DOT_DOT, cs.getBorderRight());
- cs = s.getRow(6).getCell(6).getCellStyle();
- assertEquals(CellStyle.BORDER_SLANTED_DASH_DOT, cs.getBorderRight());
+ cs = s.getRow(6).getCell(6).getCellStyle();
+ assertEquals(CellStyle.BORDER_SLANTED_DASH_DOT, cs.getBorderRight());
- cs = s.getRow(7).getCell(7).getCellStyle();
- assertEquals(CellStyle.BORDER_MEDIUM_DASH_DOT, cs.getBorderRight());
+ cs = s.getRow(7).getCell(7).getCellStyle();
+ assertEquals(CellStyle.BORDER_MEDIUM_DASH_DOT, cs.getBorderRight());
- cs = s.getRow(8).getCell(8).getCellStyle();
- assertEquals(CellStyle.BORDER_MEDIUM_DASHED, cs.getBorderRight());
+ cs = s.getRow(8).getCell(8).getCellStyle();
+ assertEquals(CellStyle.BORDER_MEDIUM_DASHED, cs.getBorderRight());
- cs = s.getRow(9).getCell(9).getCellStyle();
- assertEquals(CellStyle.BORDER_MEDIUM, cs.getBorderRight());
+ cs = s.getRow(9).getCell(9).getCellStyle();
+ assertEquals(CellStyle.BORDER_MEDIUM, cs.getBorderRight());
- cs = s.getRow(10).getCell(10).getCellStyle();
- assertEquals(CellStyle.BORDER_THICK, cs.getBorderRight());
+ cs = s.getRow(10).getCell(10).getCellStyle();
+ assertEquals(CellStyle.BORDER_THICK, cs.getBorderRight());
- cs = s.getRow(11).getCell(11).getCellStyle();
- assertEquals(CellStyle.BORDER_DOUBLE, cs.getBorderRight());
- }
-
- public void testBug54894() throws IOException {
- HSSFWorkbook wb = new HSSFWorkbook();
- HSSFSheet sheet = wb.createSheet("new sheet");
-
- // Create a row and put some cells in it. Rows are 0 based.
- HSSFRow row = sheet.createRow(1);
-
- // Create a cell and put a value in it.
- HSSFCell cell = row.createCell(1);
- cell.setCellValue(4);
-
- CellStyle def = cell.getCellStyle();
-
- String filenameB = "C:\\temp\\54894B.xls";
- FileOutputStream fileOut = new FileOutputStream(filenameB);
- try {
- wb.write(fileOut);
- } finally {
- fileOut.close();
- }
-
- // Style the cell with borders all around.
- HSSFCellStyle style = wb.createCellStyle();
- style.cloneStyleFrom(def);
-
- String filenameM = "C:\\temp\\54894M.xls";
- fileOut = new FileOutputStream(filenameM);
- try {
- wb.write(fileOut);
- } finally {
- fileOut.close();
- }
-
- style.setBorderBottom(HSSFCellStyle.BORDER_THIN);
-
- cell.setCellStyle(style);
-
- String filenameM1 = "C:\\temp\\54894M1.xls";
- fileOut = new FileOutputStream(filenameM1);
- try {
- wb.write(fileOut);
- } finally {
- fileOut.close();
- }
-
- // Write the output to a file
- String filename = "C:\\temp\\54894.xls";
- fileOut = new FileOutputStream(filename);
- try {
- wb.write(fileOut);
- } finally {
- fileOut.close();
- }
-
- /*Runtime.getRuntime().exec(new String[] {"cmd", "/c", "start", filenameB});
- Runtime.getRuntime().exec(new String[] {"cmd", "/c", "start", filenameM});
- Runtime.getRuntime().exec(new String[] {"cmd", "/c", "start", filenameM1});
- Runtime.getRuntime().exec(new String[] {"cmd", "/c", "start", filename});*/
-
- System.out.println("testfile M");
- BiffViewer.main(new String[] {filenameM});
- System.out.println("testfile M1");
- BiffViewer.main(new String[] {filenameM1});
+ cs = s.getRow(11).getCell(11).getCellStyle();
+ assertEquals(CellStyle.BORDER_DOUBLE, cs.getBorderRight());
}
public void testShrinkToFit() {
public Throwable getException() {
return exception;
}
- }
+ };
public void test56563() throws Throwable {
CellFormatBugExample threadA = new CellFormatBugExample("56563a.xls");
\r
package org.apache.poi.hssf.usermodel;\r
\r
-import static org.junit.Assert.assertArrayEquals;\r
-\r
-import java.io.File;\r
-import java.io.FileOutputStream;\r
-import java.io.IOException;\r
-import java.util.Arrays;\r
-\r
import junit.framework.TestCase;\r
-\r
+import org.apache.poi.ddf.EscherSpRecord;\r
import org.apache.poi.hssf.HSSFTestDataSamples;\r
import org.apache.poi.hssf.model.CommentShape;\r
import org.apache.poi.hssf.model.HSSFTestModelHelper;\r
-import org.apache.poi.hssf.record.CommonObjectDataSubRecord;\r
-import org.apache.poi.hssf.record.EscherAggregate;\r
-import org.apache.poi.hssf.record.NoteRecord;\r
-import org.apache.poi.hssf.record.ObjRecord;\r
-import org.apache.poi.hssf.record.TextObjectRecord;\r
-import org.apache.poi.ss.usermodel.Cell;\r
-import org.apache.poi.ss.usermodel.ClientAnchor;\r
-import org.apache.poi.ss.usermodel.Comment;\r
-import org.apache.poi.ss.usermodel.CreationHelper;\r
-import org.apache.poi.ss.usermodel.Drawing;\r
-import org.apache.poi.ss.usermodel.RichTextString;\r
-import org.apache.poi.ss.usermodel.Row;\r
-import org.apache.poi.ss.usermodel.Sheet;\r
+import org.apache.poi.hssf.record.*;\r
+\r
+import java.io.*;\r
+import java.util.Arrays;\r
\r
/**\r
* @author Evgeniy Berlog\r
* @date 26.06.12\r
*/\r
-@SuppressWarnings("deprecation")\r
public class TestComment extends TestCase {\r
\r
public void testResultEqualsToAbstractShape() {\r
byte[] actual = comment.getEscherContainer().getChild(0).serialize();\r
\r
assertEquals(expected.length, actual.length);\r
- assertArrayEquals(expected, actual);\r
+ assertTrue(Arrays.equals(expected, actual));\r
\r
expected = commentShape.getSpContainer().getChild(2).serialize();\r
actual = comment.getEscherContainer().getChild(2).serialize();\r
\r
assertEquals(expected.length, actual.length);\r
- assertArrayEquals(expected, actual);\r
+ assertTrue(Arrays.equals(expected, actual));\r
\r
expected = commentShape.getSpContainer().getChild(3).serialize();\r
actual = comment.getEscherContainer().getChild(3).serialize();\r
\r
assertEquals(expected.length, actual.length);\r
- assertArrayEquals(expected, actual);\r
+ assertTrue(Arrays.equals(expected, actual));\r
\r
expected = commentShape.getSpContainer().getChild(4).serialize();\r
actual = comment.getEscherContainer().getChild(4).serialize();\r
\r
assertEquals(expected.length, actual.length);\r
- assertArrayEquals(expected, actual);\r
+ assertTrue(Arrays.equals(expected, actual));\r
\r
ObjRecord obj = comment.getObjRecord();\r
ObjRecord objShape = commentShape.getObjRecord();\r
actual = torShape.serialize();\r
\r
assertEquals(expected.length, actual.length);\r
- assertArrayEquals(expected, actual);\r
+ assertTrue(Arrays.equals(expected, actual));\r
\r
NoteRecord note = comment.getNoteRecord();\r
NoteRecord noteShape = commentShape.getNoteRecord();\r
actual = noteShape.serialize();\r
\r
assertEquals(expected.length, actual.length);\r
- assertTrue(\r
- "\nHad: " + Arrays.toString(actual) + \r
- "\n Expected: " + Arrays.toString(expected), \r
- Arrays.equals(expected, actual));\r
+ assertTrue(Arrays.equals(expected, actual));\r
}\r
\r
public void testAddToExistingFile() {\r
assertEquals(agg.getTailRecords().size(), 1);\r
\r
HSSFSimpleShape shape = patriarch.createSimpleShape(new HSSFClientAnchor());\r
- assertNotNull(shape);\r
\r
assertEquals(comment.getOptRecord().getEscherProperties().size(), 10);\r
}\r
\r
assertEquals(comment.getShapeId(), 2024);\r
\r
- /*CommonObjectDataSubRecord cod = (CommonObjectDataSubRecord) comment.getObjRecord().getSubRecords().get(0);\r
- assertEquals(2024, cod.getObjectId());\r
+ CommonObjectDataSubRecord cod = (CommonObjectDataSubRecord) comment.getObjRecord().getSubRecords().get(0);\r
+ assertEquals(cod.getObjectId(), 1000);\r
EscherSpRecord spRecord = (EscherSpRecord) comment.getEscherContainer().getChild(0);\r
assertEquals(spRecord.getShapeId(), 2024);\r
assertEquals(comment.getShapeId(), 2024);\r
- assertEquals(2024, comment.getNoteRecord().getShapeId());*/\r
+ assertEquals(comment.getNoteRecord().getShapeId(), 1000);\r
}\r
\r
public void testAttemptToSave2CommentsWithSameCoordinates(){\r
}\r
assertNotNull(err);\r
}\r
-\r
- \r
- public void testBug56380InsertComments() throws Exception {\r
- HSSFWorkbook workbook = new HSSFWorkbook();\r
- HSSFSheet sheet = workbook.createSheet();\r
- Drawing drawing = sheet.createDrawingPatriarch();\r
- int noOfRows = 3000;\r
- String comment = "c";\r
- \r
- for(int i = 0; i < noOfRows; i++) {\r
- Row row = sheet.createRow(i);\r
- Cell cell = row.createCell(0);\r
- insertComment(drawing, cell, comment + i);\r
- }\r
-\r
- // assert that the comments are created properly before writing\r
- checkComments(sheet, noOfRows, comment);\r
- \r
- System.out.println("Listing comments before write");\r
- listComments(sheet.getDrawingPatriarch());\r
-\r
- assertEquals(noOfRows, sheet.getDrawingPatriarch().getChildren().size());\r
- \r
- // store in temp-file\r
- File file = new File(System.getProperty("java.io.tmpdir") + File.separatorChar + "test_comments.xls");\r
- FileOutputStream fs = new FileOutputStream(file);\r
- try {\r
- sheet.getWorkbook().write(fs);\r
- } finally {\r
- fs.close();\r
- }\r
- \r
- // save and recreate the workbook from the saved file\r
- workbook = HSSFTestDataSamples.writeOutAndReadBack(workbook);\r
- sheet = workbook.getSheetAt(0);\r
- \r
- // recreate the workbook from the saved file\r
- /*FileInputStream fi = new FileInputStream(file);\r
- try {\r
- sheet = new HSSFWorkbook(fi).getSheetAt(0);\r
- } finally {\r
- fi.close();\r
- }*/\r
- \r
- System.out.println("Listing comments after read");\r
- listComments(sheet.getDrawingPatriarch());\r
- \r
- assertEquals(noOfRows, sheet.getDrawingPatriarch().getChildren().size());\r
-\r
- // store file after\r
- file = new File(System.getProperty("java.io.tmpdir") + File.separatorChar + "test_comments_after.xls");\r
- fs = new FileOutputStream(file);\r
- try {\r
- sheet.getWorkbook().write(fs);\r
- } finally {\r
- fs.close();\r
- }\r
-\r
- // assert that the comments are created properly after reading back in\r
- //checkComments(sheet, noOfRows, comment);\r
- }\r
-\r
- private void listComments(HSSFShapeContainer container) {\r
- for (Object object : container.getChildren()) {\r
- HSSFShape shape = (HSSFShape) object;\r
- if (shape instanceof HSSFShapeGroup) {\r
- listComments((HSSFShapeContainer) shape);\r
- continue;\r
- }\r
- if (shape instanceof HSSFComment) {\r
- HSSFComment comment = (HSSFComment) shape;\r
- System.out.println("Comment " + comment.getString().getString() + " at " + comment.getColumn() + "/" + comment.getRow());\r
- }\r
- }\r
- }\r
- \r
- private void checkComments(Sheet sheet, int noOfRows, String commentStr) {\r
- for(int i = 0; i < noOfRows; i++) {\r
- assertNotNull(sheet.getRow(i));\r
- Cell cell = sheet.getRow(i).getCell(0);\r
- assertNotNull(cell);\r
- Comment comment = cell.getCellComment();\r
- assertNotNull("Did not get a Cell Comment for row " + i, comment);\r
- assertNotNull(comment.getString());\r
- \r
- assertEquals(i, comment.getRow());\r
- assertEquals(0,comment.getColumn());\r
- \r
- assertEquals(commentStr + i, comment.getString().getString());\r
- }\r
- }\r
-\r
- private void insertComment(Drawing drawing, Cell cell, String message) {\r
- CreationHelper factory = cell.getSheet().getWorkbook().getCreationHelper();\r
- \r
- ClientAnchor anchor = factory.createClientAnchor();\r
- anchor.setCol1(cell.getColumnIndex());\r
- anchor.setCol2(cell.getColumnIndex() + 1);\r
- anchor.setRow1(cell.getRowIndex());\r
- anchor.setRow2(cell.getRowIndex() + 1);\r
- anchor.setDx1(100); \r
- anchor.setDx2(100);\r
- anchor.setDy1(100);\r
- anchor.setDy2(100);\r
- \r
- Comment comment = drawing.createCellComment(anchor);\r
- \r
- RichTextString str = factory.createRichTextString(message);\r
- comment.setString(str);\r
- comment.setAuthor("fanfy");\r
- cell.setCellComment(comment);\r
- }\r
}\r
package org.apache.poi.hssf.usermodel;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.ss.formula.ptg.Area3DPtg;
import org.apache.poi.ss.usermodel.BaseTestWorkbook;
-import org.apache.poi.ss.usermodel.Cell;
-import org.apache.poi.ss.usermodel.FormulaEvaluator;
import org.apache.poi.ss.usermodel.Name;
-import org.apache.poi.ss.usermodel.Row;
-import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.util.CellRangeAddress;
-import org.apache.poi.ss.util.CellUtil;
import org.apache.poi.util.LittleEndian;
import org.apache.poi.util.TempFile;
import org.junit.Test;
private void expectName(HSSFWorkbook wb, String name, String expect) {
assertEquals(expect, wb.getName(name).getRefersToFormula());
}
-
- @Test
- public void test55747() throws IOException {
- HSSFWorkbook wb = new HSSFWorkbook();
- Sheet sheet =wb.createSheet("Test1");
- Row row =sheet.createRow(0);
- CellUtil.createCell(row, 0, "Hello world.");
- row = sheet.createRow(1);
- Cell cell = row.createCell(0);
- cell.setCellType(Cell.CELL_TYPE_FORMULA);
- cell.setCellFormula("IF(ISBLANK(A1),\" not blank a1\",CONCATENATE(A1,\" - %%s.\"))");
-
- Cell cell2 = row.createCell(1);
- cell2.setCellType(Cell.CELL_TYPE_FORMULA);
- cell2.setCellFormula("CONCATENATE(A1,\" - %%s.\")");
-
- Cell cell3 = row.createCell(2);
- cell3.setCellType(Cell.CELL_TYPE_FORMULA);
- cell3.setCellFormula("ISBLANK(A1)");
-
- wb.setForceFormulaRecalculation(true);
-
- FormulaEvaluator evaluator = wb.getCreationHelper().createFormulaEvaluator();
- for(int sheetNum = 0; sheetNum < wb.getNumberOfSheets(); sheetNum++) {
- sheet = wb.getSheetAt(sheetNum);
- for(Row r : sheet) {
- for(Cell c : r) {
- if(c.getCellType() == Cell.CELL_TYPE_FORMULA) {
- evaluator.evaluateFormulaCell(c);
- }
- }
- }
- }
-
- cell = row.getCell(0);
- assertEquals(Cell.CELL_TYPE_FORMULA, cell.getCellType());
- assertEquals("IF(ISBLANK(A1),\" not blank a1\",CONCATENATE(A1,\" - %%s.\"))", cell.getCellFormula());
- assertEquals("Hello world. - %%s.", cell.getStringCellValue());
-
- cell2 = row.getCell(1);
- assertEquals(Cell.CELL_TYPE_FORMULA, cell2.getCellType());
- assertEquals("CONCATENATE(A1,\" - %%s.\")", cell2.getCellFormula());
- assertEquals("Hello world. - %%s.", cell2.getStringCellValue());
-
- FileOutputStream stream = new FileOutputStream( "C:/temp/55747.xls");
- try {
- wb.write(stream);
- } finally {
- stream.close();
- }
-
- HSSFWorkbook wbBack = HSSFTestDataSamples.writeOutAndReadBack(wb);
- Sheet sheetBack = wb.getSheetAt(0);
- Row rowBack = sheetBack.getRow(1);
-
- cell = rowBack.getCell(0);
- assertEquals(Cell.CELL_TYPE_FORMULA, cell.getCellType());
- assertEquals("IF(ISBLANK(A1),\" not blank a1\",CONCATENATE(A1,\" - %%s.\"))", cell.getCellFormula());
- assertEquals("Hello world. - %%s.", cell.getStringCellValue());
-
- cell2 = rowBack.getCell(1);
- assertEquals(Cell.CELL_TYPE_FORMULA, cell2.getCellType());
- assertEquals("CONCATENATE(A1,\" - %%s.\")", cell2.getCellFormula());
- assertEquals("Hello world. - %%s.", cell2.getStringCellValue());
- wbBack.close();
- wb.close();
- }
}