diff --git a/src/java/org/apache/poi/hssf/record/CFHeaderRecord.java b/src/java/org/apache/poi/hssf/record/CFHeaderRecord.java index eb17ee275..bfdd4b057 100644 --- a/src/java/org/apache/poi/hssf/record/CFHeaderRecord.java +++ b/src/java/org/apache/poi/hssf/record/CFHeaderRecord.java @@ -23,9 +23,9 @@ import org.apache.poi.ss.util.CellRangeAddressList; import org.apache.poi.util.LittleEndianOutput; /** - * Conditional Formatting Header record CFHEADER (0x01B0) - * - * @author Dmitriy Kumshayev + * Conditional Formatting Header record CFHEADER (0x01B0). + * Used to describe a {@link CFRuleRecord}. + * @see CFHeader12Record */ public final class CFHeaderRecord extends StandardRecord { public static final short sid = 0x01B0; diff --git a/src/java/org/apache/poi/hssf/record/CFRuleRecord.java b/src/java/org/apache/poi/hssf/record/CFRuleRecord.java index d26736855..fa0a4295a 100644 --- a/src/java/org/apache/poi/hssf/record/CFRuleRecord.java +++ b/src/java/org/apache/poi/hssf/record/CFRuleRecord.java @@ -35,7 +35,7 @@ import org.apache.poi.util.LittleEndianOutput; * Conditional Formatting Rule Record (0x01B1). * *
This is for the older-style Excel conditional formattings,
- * new-style (Excel 2007+) also make use of {@link CF12RuleRecord}
+ * new-style (Excel 2007+) also make use of {@link CFRule12Record}
* and {@link CFExRuleRecord} for their rules.
*/
public final class CFRuleRecord extends StandardRecord {
diff --git a/src/java/org/apache/poi/hssf/record/FeatRecord.java b/src/java/org/apache/poi/hssf/record/FeatRecord.java
index 572d6959d..fd583a3d7 100644
--- a/src/java/org/apache/poi/hssf/record/FeatRecord.java
+++ b/src/java/org/apache/poi/hssf/record/FeatRecord.java
@@ -34,8 +34,11 @@ import org.apache.poi.util.POILogger;
* up with a {@link FeatHdrRecord}.
*/
public final class FeatRecord extends StandardRecord {
- private static POILogger logger = POILogFactory.getLogger(FeatRecord.class);
- public final static short sid = 0x0868;
+ private static POILogger logger = POILogFactory.getLogger(FeatRecord.class);
+ public final static short sid = 0x0868;
+ // SIDs from newer versions
+ public final static short v11_sid = 0x0872;
+ public final static short v12_sid = 0x0878;
private FtrHeader futureHeader;
diff --git a/src/java/org/apache/poi/hssf/record/UnknownRecord.java b/src/java/org/apache/poi/hssf/record/UnknownRecord.java
index 6b46247e2..f87953aba 100644
--- a/src/java/org/apache/poi/hssf/record/UnknownRecord.java
+++ b/src/java/org/apache/poi/hssf/record/UnknownRecord.java
@@ -179,8 +179,10 @@ public final class UnknownRecord extends StandardRecord {
case SHEETPROTECTION_0867: return "SHEETPROTECTION";
case 0x086B: return "DATALABEXTCONTENTS";
case 0x086C: return "CELLWATCH";
+ case FeatRecord.v11_sid: return "SHARED FEATURE v11";
case 0x0874: return "DROPDOWNOBJIDS";
case 0x0876: return "DCONN";
+ case FeatRecord.v12_sid: return "SHARED FEATURE v12";
case 0x087B: return "CFEX";
case 0x087C: return "XFCRC";
case 0x087D: return "XFEXT";
@@ -194,15 +196,21 @@ public final class UnknownRecord extends StandardRecord {
case 0x089A: return "MTRSETTINGS";
case 0x089B: return "COMPRESSPICTURES";
case HEADER_FOOTER_089C: return "HEADERFOOTER";
+ case 0x089D: return "CRTLAYOUT12";
+ case 0x089E: return "CRTMLFRT";
+ case 0x089F: return "CRTMLFRTCONTINUE";
case 0x08A1: return "SHAPEPROPSSTREAM";
case 0x08A3: return "FORCEFULLCALCULATION";
case 0x08A4: return "SHAPEPROPSSTREAM";
case 0x08A5: return "TEXTPROPSSTREAM";
case 0x08A6: return "RICHTEXTSTREAM";
+ case 0x08A7: return "CRTLAYOUT12A";
case 0x08C8: return "PLV{Mac Excel}";
-
-
+
+ case 0x1001: return "UNITS";
+ case 0x1006: return "CHARTDATAFORMAT";
+ case 0x1007: return "CHARTLINEFORMAT";
}
if (isObservedButUnknown(sid)) {
return "UNKNOWN-" + Integer.toHexString(sid).toUpperCase();
@@ -215,6 +223,7 @@ public final class UnknownRecord extends StandardRecord {
* @return true
if the unknown record id has been observed in POI unit tests
*/
private static boolean isObservedButUnknown(int sid) {
+ // TODO Look up more of these in the latest [MS-XLS] doc and move to getBiffName
switch (sid) {
case 0x0033:
// contains 2 bytes of data: 0x0001 or 0x0003
@@ -227,13 +236,7 @@ public final class UnknownRecord extends StandardRecord {
// Written by Excel 2007
// rawData is multiple of 12 bytes long
// appears after last cell value record and before WINDOW2 or drawing records
- case 0x089D:
- case 0x089E:
- case 0x08A7:
- case 0x1001:
- case 0x1006:
- case 0x1007:
case 0x1009:
case 0x100A:
case 0x100B: