} else if (n.equals("Workbook")) {
; //skip
} else if (n.equals("\1CompObj")) {
BlockByteReader bytes= s.getBlockReader();
int len= bytes.getLength();
BiffRec rec = new com.extentech.formats.XLS.XLSRecord(); // 4 bytes are header ...
rec.setByteReader(bytes);
rec.setLength(len);
int slen= ByteTools.readInt(rec.getBytesAt(24, 4)); // actually position 28
if (slen >= 0) {
String ss= new String (rec.getBytesAt(28, slen)); // AnsiUserType= a display name of the linked object or embedded object.
System.out.println("\tOLE Object:" + ss);
}
// AnsiClipboardFormat (variable)
// System.out.println("\t" + Arrays.toString(rec.getData()));
} else if (n.startsWith("000")) { // pivot cache
if (s.myblocks!=null) {
for (int zz= 0; zz < s.myblocks.size(); zz++)
if ((s.myblocks.get(zz) instanceof com.extentech.formats.LEO.BIGBLOCK))
System.out.println("\t" + zz + "-" + Arrays.toString(((com.extentech.formats.LEO.BIGBLOCK)s.myblocks.get(zz)).getBytes()));
else
System.out.println("\t" + zz + "-" + Arrays.toString(((com.extentech.formats.LEO.SMALLBLOCK)s.myblocks.get(zz)).getBytes()));
}
BlockByteReader bytes= s.getBlockReader();
int len= bytes.getLength();
for (int z = 0; z <= len - 4;) {
byte[] headerbytes = bytes.getHeaderBytes(z);
short opcode = ByteTools.readShort(headerbytes[0], headerbytes[1]);
int reclen = ByteTools.readShort(headerbytes[2], headerbytes[3]);
BiffRec rec = XLSRecordFactory.getBiffRecord( opcode );
rec.setByteReader(bytes);
rec.setOffset(z);
rec.setLength((short) reclen);
rec.init();
System.out.println("\t\t" + rec.toString());
z+=reclen+4;
}
} else {
if (s.myblocks!=null) {
for (int zz= 0; zz < s.myblocks.size(); zz++)