import org.apache.poi.ddf.EscherOptRecord;
import org.apache.poi.ddf.EscherProperty;
import org.apache.poi.hssf.record.EscherAggregate;
-import org.apache.poi.util.LittleEndian;
import org.apache.poi.util.StringUtil;
/**
*
* @author Glen Stampoultzis (glens at apache.org)
*/
-public class HSSFPatriarch
- implements HSSFShapeContainer
+public final class HSSFPatriarch implements HSSFShapeContainer
{
List shapes = new ArrayList();
HSSFSheet sheet;
*/
HSSFPatriarch(HSSFSheet sheet, EscherAggregate boundAggregate)
{
- this.boundAggregate = boundAggregate;
+ this.boundAggregate = boundAggregate;
this.sheet = sheet;
}
* to work on some charts so far)
*/
public boolean containsChart() {
- // TODO - support charts properly in usermodel
-
- // We're looking for a EscherOptRecord
- EscherOptRecord optRecord = (EscherOptRecord)
- boundAggregate.findFirstWithId(EscherOptRecord.RECORD_ID);
- if(optRecord == null) {
- // No opt record, can't have chart
- return false;
- }
-
- for(Iterator it = optRecord.getEscherProperties().iterator(); it.hasNext();) {
- EscherProperty prop = (EscherProperty)it.next();
- if(prop.getPropertyNumber() == 896 && prop.isComplex()) {
- EscherComplexProperty cp = (EscherComplexProperty)prop;
- String str = StringUtil.getFromUnicodeLE(cp.getComplexData());
- System.err.println(str);
- if(str.equals("Chart 1\0")) {
- return true;
- }
- }
- }
+ // TODO - support charts properly in usermodel
+
+ // We're looking for a EscherOptRecord
+ EscherOptRecord optRecord = (EscherOptRecord)
+ boundAggregate.findFirstWithId(EscherOptRecord.RECORD_ID);
+ if(optRecord == null) {
+ // No opt record, can't have chart
+ return false;
+ }
+
+ for(Iterator it = optRecord.getEscherProperties().iterator(); it.hasNext();) {
+ EscherProperty prop = (EscherProperty)it.next();
+ if(prop.getPropertyNumber() == 896 && prop.isComplex()) {
+ EscherComplexProperty cp = (EscherComplexProperty)prop;
+ String str = StringUtil.getFromUnicodeLE(cp.getComplexData());
+ //System.err.println(str);
+ if(str.equals("Chart 1\0")) {
+ return true;
+ }
+ }
+ }
- return false;
+ return false;
}
/**
* Returns the aggregate escher record we're bound to
*/
protected EscherAggregate _getBoundAggregate() {
- return boundAggregate;
+ return boundAggregate;
}
}
/**
* @author Glen Stampoultzis
*/
-public class TestColumnInfoRecordsAggregate extends TestCase
+public final class TestColumnInfoRecordsAggregate extends TestCase
{
ColumnInfoRecordsAggregate columnInfoRecordsAggregate;
columnInfoRecordsAggregate.insertColumn( createColumn( (short)8, (short)8 ));
// columnInfoRecordsAggregate.setColumn( (short)2, new Short( (short)200 ), new Integer( 1 ), new Boolean( true ), null);
columnInfoRecordsAggregate.groupColumnRange( (short)2, (short)5, true );
- System.out.println( "columnInfoRecordsAggregate = " + columnInfoRecordsAggregate.getNumColumns() );
+ assertEquals(6, columnInfoRecordsAggregate.getNumColumns());
assertEquals(columnInfoRecordsAggregate.getRecordSize(), columnInfoRecordsAggregate.serialize().length);
book.createSheet("TEST");
HSSFSheet sheet = book.cloneSheet(0);
book.setSheetName(1,"CLONE");
- sheet.createRow(0).createCell((short)0).setCellValue("Test");
+ sheet.createRow(0).createCell((short)0).setCellValue(new HSSFRichTextString("Test"));
book.write(out);
book = new HSSFWorkbook(new ByteArrayInputStream(out.toByteArray()));
sheet = book.getSheet("CLONE");
HSSFRow row = sheet.getRow(0);
HSSFCell cell = row.getCell((short)0);
- System.out.println(cell.getStringCellValue());
+ assertEquals("Test", cell.getRichStringCellValue().getString());
}
/**