Revert parts of an inadvertent previous checkin, keep build.xml and @Override changes
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1629653 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
f24e660cb4
commit
8dde4b0ae4
|
@ -132,9 +132,6 @@ public class HSSFComment extends HSSFTextbox implements Comment {
|
|||
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); */
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -19,7 +19,11 @@
|
|||
|
||||
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;
|
||||
|
@ -234,6 +238,7 @@ public final class TestSXSSFWorkbook extends BaseTestWorkbook {
|
|||
assertEquals("value?", cell.getStringCellValue());
|
||||
|
||||
assertTrue(wb.dispose());
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -310,18 +315,16 @@ public final class TestSXSSFWorkbook extends BaseTestWorkbook {
|
|||
}
|
||||
|
||||
@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();
|
||||
|
||||
}
|
||||
|
||||
|
@ -331,12 +334,9 @@ public final class TestSXSSFWorkbook extends BaseTestWorkbook {
|
|||
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
|
||||
|
@ -371,7 +371,6 @@ public final class TestSXSSFWorkbook extends BaseTestWorkbook {
|
|||
} finally {
|
||||
assertTrue(wb.dispose());
|
||||
}
|
||||
wb.close();
|
||||
}
|
||||
out.delete();
|
||||
}
|
||||
|
@ -405,30 +404,6 @@ public final class TestSXSSFWorkbook extends BaseTestWorkbook {
|
|||
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();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,15 +17,9 @@
|
|||
|
||||
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
|
||||
|
@ -43,48 +37,4 @@ public final class TestXSSFRow extends BaseTestRow {
|
|||
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");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,7 +17,13 @@
|
|||
|
||||
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;
|
||||
|
@ -36,7 +42,17 @@ import org.apache.poi.openxml4j.opc.PackagePartName;
|
|||
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;
|
||||
|
@ -752,20 +768,4 @@ public final class TestXSSFWorkbook extends BaseTestWorkbook {
|
|||
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();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -197,10 +197,8 @@ public final class POIDataSamples {
|
|||
return;
|
||||
}
|
||||
|
||||
dataDirName = "test-data";
|
||||
|
||||
/*throw new RuntimeException("Must set system property '" +
|
||||
TEST_PROPERTY + "' before running tests");*/
|
||||
throw new RuntimeException("Must set system property '" +
|
||||
TEST_PROPERTY + "' before running tests");
|
||||
}
|
||||
File dataDir = new File(dataDirName, _moduleDir);
|
||||
if (!dataDir.exists()) {
|
||||
|
|
|
@ -26,7 +26,6 @@ import java.util.Date;
|
|||
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;
|
||||
|
@ -381,71 +380,6 @@ public final class TestCellStyle extends TestCase {
|
|||
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});
|
||||
}
|
||||
|
||||
public void testShrinkToFit() {
|
||||
// Existing file
|
||||
HSSFWorkbook wb = openSample("ShrinkToFit.xls");
|
||||
|
@ -515,7 +449,7 @@ public final class TestCellStyle extends TestCase {
|
|||
public Throwable getException() {
|
||||
return exception;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
public void test56563() throws Throwable {
|
||||
CellFormatBugExample threadA = new CellFormatBugExample("56563a.xls");
|
||||
|
|
|
@ -17,37 +17,20 @@
|
|||
|
||||
package org.apache.poi.hssf.usermodel;
|
||||
|
||||
import static org.junit.Assert.assertArrayEquals;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.util.Arrays;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import org.apache.poi.ddf.EscherSpRecord;
|
||||
import org.apache.poi.hssf.HSSFTestDataSamples;
|
||||
import org.apache.poi.hssf.model.CommentShape;
|
||||
import org.apache.poi.hssf.model.HSSFTestModelHelper;
|
||||
import org.apache.poi.hssf.record.CommonObjectDataSubRecord;
|
||||
import org.apache.poi.hssf.record.EscherAggregate;
|
||||
import org.apache.poi.hssf.record.NoteRecord;
|
||||
import org.apache.poi.hssf.record.ObjRecord;
|
||||
import org.apache.poi.hssf.record.TextObjectRecord;
|
||||
import org.apache.poi.ss.usermodel.Cell;
|
||||
import org.apache.poi.ss.usermodel.ClientAnchor;
|
||||
import org.apache.poi.ss.usermodel.Comment;
|
||||
import org.apache.poi.ss.usermodel.CreationHelper;
|
||||
import org.apache.poi.ss.usermodel.Drawing;
|
||||
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.hssf.record.*;
|
||||
|
||||
import java.io.*;
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* @author Evgeniy Berlog
|
||||
* @date 26.06.12
|
||||
*/
|
||||
@SuppressWarnings("deprecation")
|
||||
public class TestComment extends TestCase {
|
||||
|
||||
public void testResultEqualsToAbstractShape() {
|
||||
|
@ -70,25 +53,25 @@ public class TestComment extends TestCase {
|
|||
byte[] actual = comment.getEscherContainer().getChild(0).serialize();
|
||||
|
||||
assertEquals(expected.length, actual.length);
|
||||
assertArrayEquals(expected, actual);
|
||||
assertTrue(Arrays.equals(expected, actual));
|
||||
|
||||
expected = commentShape.getSpContainer().getChild(2).serialize();
|
||||
actual = comment.getEscherContainer().getChild(2).serialize();
|
||||
|
||||
assertEquals(expected.length, actual.length);
|
||||
assertArrayEquals(expected, actual);
|
||||
assertTrue(Arrays.equals(expected, actual));
|
||||
|
||||
expected = commentShape.getSpContainer().getChild(3).serialize();
|
||||
actual = comment.getEscherContainer().getChild(3).serialize();
|
||||
|
||||
assertEquals(expected.length, actual.length);
|
||||
assertArrayEquals(expected, actual);
|
||||
assertTrue(Arrays.equals(expected, actual));
|
||||
|
||||
expected = commentShape.getSpContainer().getChild(4).serialize();
|
||||
actual = comment.getEscherContainer().getChild(4).serialize();
|
||||
|
||||
assertEquals(expected.length, actual.length);
|
||||
assertArrayEquals(expected, actual);
|
||||
assertTrue(Arrays.equals(expected, actual));
|
||||
|
||||
ObjRecord obj = comment.getObjRecord();
|
||||
ObjRecord objShape = commentShape.getObjRecord();
|
||||
|
@ -105,7 +88,7 @@ public class TestComment extends TestCase {
|
|||
actual = torShape.serialize();
|
||||
|
||||
assertEquals(expected.length, actual.length);
|
||||
assertArrayEquals(expected, actual);
|
||||
assertTrue(Arrays.equals(expected, actual));
|
||||
|
||||
NoteRecord note = comment.getNoteRecord();
|
||||
NoteRecord noteShape = commentShape.getNoteRecord();
|
||||
|
@ -115,10 +98,7 @@ public class TestComment extends TestCase {
|
|||
actual = noteShape.serialize();
|
||||
|
||||
assertEquals(expected.length, actual.length);
|
||||
assertTrue(
|
||||
"\nHad: " + Arrays.toString(actual) +
|
||||
"\n Expected: " + Arrays.toString(expected),
|
||||
Arrays.equals(expected, actual));
|
||||
assertTrue(Arrays.equals(expected, actual));
|
||||
}
|
||||
|
||||
public void testAddToExistingFile() {
|
||||
|
@ -260,7 +240,6 @@ public class TestComment extends TestCase {
|
|||
assertEquals(agg.getTailRecords().size(), 1);
|
||||
|
||||
HSSFSimpleShape shape = patriarch.createSimpleShape(new HSSFClientAnchor());
|
||||
assertNotNull(shape);
|
||||
|
||||
assertEquals(comment.getOptRecord().getEscherProperties().size(), 10);
|
||||
}
|
||||
|
@ -281,12 +260,12 @@ public class TestComment extends TestCase {
|
|||
|
||||
assertEquals(comment.getShapeId(), 2024);
|
||||
|
||||
/*CommonObjectDataSubRecord cod = (CommonObjectDataSubRecord) comment.getObjRecord().getSubRecords().get(0);
|
||||
assertEquals(2024, cod.getObjectId());
|
||||
CommonObjectDataSubRecord cod = (CommonObjectDataSubRecord) comment.getObjRecord().getSubRecords().get(0);
|
||||
assertEquals(cod.getObjectId(), 1000);
|
||||
EscherSpRecord spRecord = (EscherSpRecord) comment.getEscherContainer().getChild(0);
|
||||
assertEquals(spRecord.getShapeId(), 2024);
|
||||
assertEquals(comment.getShapeId(), 2024);
|
||||
assertEquals(2024, comment.getNoteRecord().getShapeId());*/
|
||||
assertEquals(comment.getNoteRecord().getShapeId(), 1000);
|
||||
}
|
||||
|
||||
public void testAttemptToSave2CommentsWithSameCoordinates(){
|
||||
|
@ -306,116 +285,4 @@ public class TestComment extends TestCase {
|
|||
}
|
||||
assertNotNull(err);
|
||||
}
|
||||
|
||||
|
||||
public void testBug56380InsertComments() throws Exception {
|
||||
HSSFWorkbook workbook = new HSSFWorkbook();
|
||||
HSSFSheet sheet = workbook.createSheet();
|
||||
Drawing drawing = sheet.createDrawingPatriarch();
|
||||
int noOfRows = 3000;
|
||||
String comment = "c";
|
||||
|
||||
for(int i = 0; i < noOfRows; i++) {
|
||||
Row row = sheet.createRow(i);
|
||||
Cell cell = row.createCell(0);
|
||||
insertComment(drawing, cell, comment + i);
|
||||
}
|
||||
|
||||
// assert that the comments are created properly before writing
|
||||
checkComments(sheet, noOfRows, comment);
|
||||
|
||||
System.out.println("Listing comments before write");
|
||||
listComments(sheet.getDrawingPatriarch());
|
||||
|
||||
assertEquals(noOfRows, sheet.getDrawingPatriarch().getChildren().size());
|
||||
|
||||
// store in temp-file
|
||||
File file = new File(System.getProperty("java.io.tmpdir") + File.separatorChar + "test_comments.xls");
|
||||
FileOutputStream fs = new FileOutputStream(file);
|
||||
try {
|
||||
sheet.getWorkbook().write(fs);
|
||||
} finally {
|
||||
fs.close();
|
||||
}
|
||||
|
||||
// save and recreate the workbook from the saved file
|
||||
workbook = HSSFTestDataSamples.writeOutAndReadBack(workbook);
|
||||
sheet = workbook.getSheetAt(0);
|
||||
|
||||
// recreate the workbook from the saved file
|
||||
/*FileInputStream fi = new FileInputStream(file);
|
||||
try {
|
||||
sheet = new HSSFWorkbook(fi).getSheetAt(0);
|
||||
} finally {
|
||||
fi.close();
|
||||
}*/
|
||||
|
||||
System.out.println("Listing comments after read");
|
||||
listComments(sheet.getDrawingPatriarch());
|
||||
|
||||
assertEquals(noOfRows, sheet.getDrawingPatriarch().getChildren().size());
|
||||
|
||||
// store file after
|
||||
file = new File(System.getProperty("java.io.tmpdir") + File.separatorChar + "test_comments_after.xls");
|
||||
fs = new FileOutputStream(file);
|
||||
try {
|
||||
sheet.getWorkbook().write(fs);
|
||||
} finally {
|
||||
fs.close();
|
||||
}
|
||||
|
||||
// assert that the comments are created properly after reading back in
|
||||
//checkComments(sheet, noOfRows, comment);
|
||||
}
|
||||
|
||||
private void listComments(HSSFShapeContainer container) {
|
||||
for (Object object : container.getChildren()) {
|
||||
HSSFShape shape = (HSSFShape) object;
|
||||
if (shape instanceof HSSFShapeGroup) {
|
||||
listComments((HSSFShapeContainer) shape);
|
||||
continue;
|
||||
}
|
||||
if (shape instanceof HSSFComment) {
|
||||
HSSFComment comment = (HSSFComment) shape;
|
||||
System.out.println("Comment " + comment.getString().getString() + " at " + comment.getColumn() + "/" + comment.getRow());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void checkComments(Sheet sheet, int noOfRows, String commentStr) {
|
||||
for(int i = 0; i < noOfRows; i++) {
|
||||
assertNotNull(sheet.getRow(i));
|
||||
Cell cell = sheet.getRow(i).getCell(0);
|
||||
assertNotNull(cell);
|
||||
Comment comment = cell.getCellComment();
|
||||
assertNotNull("Did not get a Cell Comment for row " + i, comment);
|
||||
assertNotNull(comment.getString());
|
||||
|
||||
assertEquals(i, comment.getRow());
|
||||
assertEquals(0,comment.getColumn());
|
||||
|
||||
assertEquals(commentStr + i, comment.getString().getString());
|
||||
}
|
||||
}
|
||||
|
||||
private void insertComment(Drawing drawing, Cell cell, String message) {
|
||||
CreationHelper factory = cell.getSheet().getWorkbook().getCreationHelper();
|
||||
|
||||
ClientAnchor anchor = factory.createClientAnchor();
|
||||
anchor.setCol1(cell.getColumnIndex());
|
||||
anchor.setCol2(cell.getColumnIndex() + 1);
|
||||
anchor.setRow1(cell.getRowIndex());
|
||||
anchor.setRow2(cell.getRowIndex() + 1);
|
||||
anchor.setDx1(100);
|
||||
anchor.setDx2(100);
|
||||
anchor.setDy1(100);
|
||||
anchor.setDy2(100);
|
||||
|
||||
Comment comment = drawing.createCellComment(anchor);
|
||||
|
||||
RichTextString str = factory.createRichTextString(message);
|
||||
comment.setString(str);
|
||||
comment.setAuthor("fanfy");
|
||||
cell.setCellComment(comment);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,7 +17,12 @@
|
|||
|
||||
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;
|
||||
|
@ -50,13 +55,8 @@ import org.apache.poi.poifs.filesystem.NPOIFSFileSystem;
|
|||
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;
|
||||
|
@ -1070,71 +1070,4 @@ public final class TestHSSFWorkbook extends BaseTestWorkbook {
|
|||
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();
|
||||
}
|
||||
}
|
||||
|
|
Binary file not shown.
Loading…
Reference in New Issue