diff options
Diffstat (limited to 'oox/source/dump/xlsbdumper.cxx')
-rw-r--r-- | oox/source/dump/xlsbdumper.cxx | 440 |
1 files changed, 254 insertions, 186 deletions
diff --git a/oox/source/dump/xlsbdumper.cxx b/oox/source/dump/xlsbdumper.cxx index dd78ac3c4e2e..3dc2974420a6 100644 --- a/oox/source/dump/xlsbdumper.cxx +++ b/oox/source/dump/xlsbdumper.cxx @@ -26,12 +26,13 @@ ************************************************************************/ #include "oox/dump/xlsbdumper.hxx" + #include <com/sun/star/io/XTextInputStream.hpp> +#include "oox/core/filterbase.hxx" #include "oox/dump/biffdumper.hxx" #include "oox/dump/oledumper.hxx" #include "oox/dump/pptxdumper.hxx" #include "oox/helper/zipstorage.hxx" -#include "oox/core/filterbase.hxx" #include "oox/ole/olestorage.hxx" #include "oox/xls/biffhelper.hxx" #include "oox/xls/formulabase.hxx" @@ -39,34 +40,31 @@ #if OOX_INCLUDE_DUMPER -using ::rtl::OUString; -using ::rtl::OUStringBuffer; -using ::com::sun::star::uno::Reference; -using ::com::sun::star::util::DateTime; -using ::com::sun::star::lang::XMultiServiceFactory; -using ::com::sun::star::io::XInputStream; -using ::comphelper::MediaDescriptor; -using ::oox::core::FilterBase; - -using namespace ::oox::xls; - namespace oox { namespace dump { namespace xlsb { // ============================================================================ -namespace { +using namespace ::com::sun::star::io; +using namespace ::com::sun::star::lang; +using namespace ::com::sun::star::uno; +using namespace ::com::sun::star::util; +using namespace ::oox::xls; + +using ::comphelper::MediaDescriptor; +using ::oox::core::FilterBase; +using ::rtl::OUString; +using ::rtl::OUStringBuffer; -const sal_uInt8 OOBIN_STRINGFLAG_FONTS = 0x01; -const sal_uInt8 OOBIN_STRINGFLAG_PHONETICS = 0x02; +// ============================================================================ + +namespace { -const sal_uInt8 OOBIN_TOK_ARRAY_DOUBLE = 0; -const sal_uInt8 OOBIN_TOK_ARRAY_STRING = 1; -const sal_uInt8 OOBIN_TOK_ARRAY_BOOL = 2; -const sal_uInt8 OOBIN_TOK_ARRAY_ERROR = 4; +const sal_uInt8 BIFF12_STRINGFLAG_FONTS = 0x01; +const sal_uInt8 BIFF12_STRINGFLAG_PHONETICS = 0x02; -const sal_uInt16 OOBIN_OLEOBJECT_LINKED = 0x0001; +const sal_uInt16 BIFF12_OLEOBJECT_LINKED = 0x0001; } // namespace @@ -82,7 +80,7 @@ RecordObjectBase::~RecordObjectBase() void RecordObjectBase::construct( const ObjectBase& rParent, const BinaryInputStreamRef& rxStrm, const OUString& rSysFileName ) { - mxBiffStrm.reset( new RecordInputStream( getRecordDataSequence() ) ); + mxBiffStrm.reset( new SequenceInputStream( getRecordDataSequence() ) ); SequenceRecordObjectBase::construct( rParent, rxStrm, rSysFileName, mxBiffStrm, "RECORD-NAMES", "SIMPLE-RECORDS" ); if( SequenceRecordObjectBase::implIsValid() ) mxErrCodes = cfg().getNameList( "ERRORCODES" ); @@ -200,11 +198,11 @@ OUString RecordObjectBase::dumpString( const String& rName, bool bRich, bool b32 { sal_uInt8 nFlags = bRich ? dumpHex< sal_uInt8 >( "flags", "STRING-FLAGS" ) : 0; - OUString aString = mxBiffStrm->readString( b32BitLen ); + OUString aString = BiffHelper::readString( *mxBiffStrm, b32BitLen ); writeStringItem( rName( "text" ), aString ); // --- formatting --- - if( getFlag( nFlags, OOBIN_STRINGFLAG_FONTS ) ) + if( getFlag( nFlags, BIFF12_STRINGFLAG_FONTS ) ) { IndentGuard aIndGuard( mxOut ); FontPortionModelList aPortions; @@ -213,7 +211,7 @@ OUString RecordObjectBase::dumpString( const String& rName, bool bRich, bool b32 } // --- phonetic text --- - if( getFlag( nFlags, OOBIN_STRINGFLAG_PHONETICS ) ) + if( getFlag( nFlags, BIFF12_STRINGFLAG_PHONETICS ) ) { IndentGuard aIndGuard( mxOut ); dumpString( "phonetic-text" ); @@ -489,7 +487,7 @@ void FormulaObject::constructFmlaObj() { if( RecordObjectBase::implIsValid() ) { - mxFuncProv.reset( new FunctionProvider( FILTER_OOX, BIFF_UNKNOWN, true ) ); + mxFuncProv.reset( new FunctionProvider( FILTER_OOXML, BIFF_UNKNOWN, true ) ); Config& rCfg = cfg(); mxClasses = rCfg.getNameList( "TOKENCLASSES" ); @@ -567,7 +565,7 @@ OUString FormulaObject::writeFuncIdItem( sal_uInt16 nFuncId, const FunctionInfo* ItemGuard aItem( mxOut, "func-id" ); writeHexItem( EMPTY_STRING, nFuncId, "FUNCID" ); OUStringBuffer aBuffer; - const FunctionInfo* pFuncInfo = mxFuncProv->getFuncInfoFromOobFuncId( nFuncId ); + const FunctionInfo* pFuncInfo = mxFuncProv->getFuncInfoFromBiff12FuncId( nFuncId ); if( pFuncInfo ) aBuffer.append( pFuncInfo->maOoxFuncName ); else @@ -588,9 +586,9 @@ OUString FormulaObject::writeFuncIdItem( sal_uInt16 nFuncId, const FunctionInfo* sal_Int32 FormulaObject::dumpTokenCol( const String& rName, bool& rbRelC, bool& rbRelR ) { sal_uInt16 nCol = dumpHex< sal_uInt16 >( rName, mxRelFlags ); - rbRelC = getFlag( nCol, OOBIN_TOK_REF_COLREL ); - rbRelR = getFlag( nCol, OOBIN_TOK_REF_ROWREL ); - nCol &= OOBIN_TOK_REF_COLMASK; + rbRelC = getFlag( nCol, BIFF12_TOK_REF_COLREL ); + rbRelR = getFlag( nCol, BIFF12_TOK_REF_ROWREL ); + nCol &= BIFF12_TOK_REF_COLMASK; return nCol; } @@ -821,17 +819,17 @@ bool FormulaObject::dumpTableToken() StringHelper::appendIndex( aColRange, mxOut->getLastItemValue() ); OUStringBuffer aParams; size_t nParams = 0; - if( getFlag( nFlags, OOBIN_TOK_TABLE_ALL ) && ++nParams ) + if( getFlag( nFlags, BIFF12_TOK_TABLE_ALL ) && ++nParams ) StringHelper::appendToken( aParams, CREATE_OUSTRING( "[#All]" ) ); - if( getFlag( nFlags, OOBIN_TOK_TABLE_HEADERS ) && ++nParams ) + if( getFlag( nFlags, BIFF12_TOK_TABLE_HEADERS ) && ++nParams ) StringHelper::appendToken( aParams, CREATE_OUSTRING( "[#Headers]" ) ); - if( getFlag( nFlags, OOBIN_TOK_TABLE_DATA ) && ++nParams ) + if( getFlag( nFlags, BIFF12_TOK_TABLE_DATA ) && ++nParams ) StringHelper::appendToken( aParams, CREATE_OUSTRING( "[#Data]" ) ); - if( getFlag( nFlags, OOBIN_TOK_TABLE_TOTALS ) && ++nParams ) + if( getFlag( nFlags, BIFF12_TOK_TABLE_TOTALS ) && ++nParams ) StringHelper::appendToken( aParams, CREATE_OUSTRING( "[#Totals]" ) ); - if( getFlag( nFlags, OOBIN_TOK_TABLE_THISROW ) && ++nParams ) + if( getFlag( nFlags, BIFF12_TOK_TABLE_THISROW ) && ++nParams ) StringHelper::appendToken( aParams, CREATE_OUSTRING( "[#This Row]" ) ); - if( (getFlag( nFlags, OOBIN_TOK_TABLE_COLUMN ) || getFlag( nFlags, OOBIN_TOK_TABLE_COLRANGE )) && ++nParams ) + if( (getFlag( nFlags, BIFF12_TOK_TABLE_COLUMN ) || getFlag( nFlags, BIFF12_TOK_TABLE_COLRANGE )) && ++nParams ) StringHelper::appendToken( aParams, aColRange.makeStringAndClear() ); OUStringBuffer aOp; StringHelper::appendIndexedText( aOp, CREATE_OUSTRING( "TABLE" ), nTabId ); @@ -849,13 +847,13 @@ bool FormulaObject::dumpAttrToken() sal_uInt8 nType = dumpHex< sal_uInt8 >( "type", mxAttrTypes ); switch( nType ) { - case OOBIN_TOK_ATTR_VOLATILE: + case BIFF_TOK_ATTR_VOLATILE: dumpUnused( 2 ); break; - case OOBIN_TOK_ATTR_IF: + case BIFF_TOK_ATTR_IF: dumpDec< sal_uInt16 >( "skip" ); break; - case OOBIN_TOK_ATTR_CHOOSE: + case BIFF_TOK_ATTR_CHOOSE: { sal_uInt16 nCount = dumpDec< sal_uInt16 >( "choices" ); mxOut->resetItemIndex(); @@ -864,22 +862,22 @@ bool FormulaObject::dumpAttrToken() dumpDec< sal_uInt16 >( "skip-err" ); } break; - case OOBIN_TOK_ATTR_SKIP: + case BIFF_TOK_ATTR_SKIP: dumpDec< sal_uInt16 >( "skip" ); break; - case OOBIN_TOK_ATTR_SUM: + case BIFF_TOK_ATTR_SUM: dumpUnused( 2 ); mxStack->pushFuncOp( CREATE_OUSTRING( "SUM" ), OUString( OOX_DUMP_BASECLASS ), 1 ); break; - case OOBIN_TOK_ATTR_ASSIGN: + case BIFF_TOK_ATTR_ASSIGN: dumpUnused( 2 ); break; - case OOBIN_TOK_ATTR_SPACE: - case OOBIN_TOK_ATTR_SPACE | BIFF_TOK_ATTR_VOLATILE: + case BIFF_TOK_ATTR_SPACE: + case BIFF_TOK_ATTR_SPACE | BIFF_TOK_ATTR_VOLATILE: dumpDec< sal_uInt8 >( "char-type", mxSpTypes ); dumpDec< sal_uInt8 >( "char-count" ); break; - case OOBIN_TOK_ATTR_IFERROR: + case BIFF_TOK_ATTR_IFERROR: dumpDec< sal_uInt16 >( "skip" ); break; default: @@ -967,19 +965,19 @@ OUString FormulaObject::dumpaddDataArrayValue() OUStringBuffer aValue; switch( dumpDec< sal_uInt8 >( "type", "ARRAYVALUE-TYPE" ) ) { - case OOBIN_TOK_ARRAY_DOUBLE: + case BIFF_TOK_ARRAY_DOUBLE: dumpDec< double >( "value" ); aValue.append( mxOut->getLastItemValue() ); break; - case OOBIN_TOK_ARRAY_STRING: + case BIFF_TOK_ARRAY_STRING: aValue.append( dumpString( "value", false, false ) ); StringHelper::enclose( aValue, OOX_DUMP_STRQUOTE ); break; - case OOBIN_TOK_ARRAY_BOOL: + case BIFF_TOK_ARRAY_BOOL: dumpBoolean( "value" ); aValue.append( mxOut->getLastItemValue() ); break; - case OOBIN_TOK_ARRAY_ERROR: + case BIFF_TOK_ARRAY_ERROR: dumpErrorCode( "value" ); aValue.append( mxOut->getLastItemValue() ); dumpUnused( 3 ); @@ -1006,18 +1004,22 @@ void RecordStreamObject::implDumpRecordBody() { switch( getRecId() ) { - case OOBIN_ID_ARRAY: + case BIFF12_ID_ARRAY: dumpRange( "array-range" ); dumpHex< sal_uInt8 >( "flags", "ARRAY-FLAGS" ); mxFmlaObj->dumpCellFormula(); break; - case OOBIN_ID_BINARYINDEXBLOCK: + case BIFF12_ID_AUTOFILTER: + dumpRange( "filter-range" ); + break; + + case BIFF12_ID_BINARYINDEXBLOCK: dumpRowRange( "row-range" ); dumpUnknown( 12 ); break; - case OOBIN_ID_BINARYINDEXROWS: + case BIFF12_ID_BINARYINDEXROWS: { sal_uInt32 nUsedRows = dumpBin< sal_uInt32 >( "used-rows" ); dumpDec< sal_Int64 >( "stream-offset" ); @@ -1027,7 +1029,7 @@ void RecordStreamObject::implDumpRecordBody() } break; - case OOBIN_ID_BORDER: + case BIFF12_ID_BORDER: dumpHex< sal_uInt8 >( "flags", "BORDER-FLAGS" ); dumpDec< sal_uInt16 >( "top-style", "BORDERSTYLES" ); dumpColor( "top-color" ); @@ -1041,7 +1043,7 @@ void RecordStreamObject::implDumpRecordBody() dumpColor( "diag-color" ); break; - case OOBIN_ID_BRK: + case BIFF12_ID_BRK: dumpDec< sal_Int32 >( "id" ); dumpDec< sal_Int32 >( "min" ); dumpDec< sal_Int32 >( "max" ); @@ -1049,7 +1051,7 @@ void RecordStreamObject::implDumpRecordBody() dumpDec< sal_Int32 >( "pivot-break", "BOOLEAN" ); break; - case OOBIN_ID_CALCPR: + case BIFF12_ID_CALCPR: dumpDec< sal_Int32 >( "calc-id" ); dumpDec< sal_Int32 >( "calc-mode", "CALCPR-CALCMODE" ); dumpDec< sal_Int32 >( "iteration-count" ); @@ -1058,46 +1060,46 @@ void RecordStreamObject::implDumpRecordBody() dumpHex< sal_uInt16 >( "flags", "CALCPR-FLAGS" ); break; - case OOBIN_ID_CELL_BLANK: + case BIFF12_ID_CELL_BLANK: dumpCellHeader( true ); break; - case OOBIN_ID_CELL_BOOL: + case BIFF12_ID_CELL_BOOL: dumpCellHeader( true ); dumpBoolean(); break; - case OOBIN_ID_CELL_DOUBLE: + case BIFF12_ID_CELL_DOUBLE: dumpCellHeader( true ); dumpDec< double >( "value" ); break; - case OOBIN_ID_CELL_ERROR: + case BIFF12_ID_CELL_ERROR: dumpCellHeader( true ); dumpErrorCode(); break; - case OOBIN_ID_CELL_RK: + case BIFF12_ID_CELL_RK: dumpCellHeader( true ); dumpRk( "value" ); break; - case OOBIN_ID_CELL_RSTRING: + case BIFF12_ID_CELL_RSTRING: dumpCellHeader( true ); dumpString( "value", true ); break; - case OOBIN_ID_CELL_SI: + case BIFF12_ID_CELL_SI: dumpCellHeader( true ); dumpDec< sal_Int32 >( "string-id" ); break; - case OOBIN_ID_CELL_STRING: + case BIFF12_ID_CELL_STRING: dumpCellHeader( true ); dumpString( "value" ); break; - case OOBIN_ID_CELLSTYLE: + case BIFF12_ID_CELLSTYLE: dumpDec< sal_Int32 >( "xf-id" ); dumpHex< sal_uInt16 >( "flags", "CELLSTYLE-FLAGS" ); dumpDec< sal_uInt8 >( "builtin-id", "CELLSTYLE-BUILTIN" ); @@ -1105,11 +1107,11 @@ void RecordStreamObject::implDumpRecordBody() dumpString( "name" ); break; - case OOBIN_ID_CFCOLOR: + case BIFF12_ID_CFCOLOR: dumpColor(); break; - case OOBIN_ID_CFRULE: + case BIFF12_ID_CFRULE: { // type/subtype/operator is a mess... dumpDec< sal_Int32 >( "type", "CFRULE-TYPE" ); @@ -1153,7 +1155,7 @@ void RecordStreamObject::implDumpRecordBody() } break; - case OOBIN_ID_CHARTPAGESETUP: + case BIFF12_ID_CHARTPAGESETUP: dumpDec< sal_Int32 >( "paper-size", "PAGESETUP-PAPERSIZE" ); dumpDec< sal_Int32 >( "horizontal-res", "PAGESETUP-DPI" ); dumpDec< sal_Int32 >( "vertical-res", "PAGESETUP-DPI" ); @@ -1163,75 +1165,110 @@ void RecordStreamObject::implDumpRecordBody() dumpString( "printer-settings-rel-id" ); break; - case OOBIN_ID_CHARTPROTECTION: + case BIFF12_ID_CHARTPROTECTION: dumpHex< sal_uInt16 >( "password-hash" ); // no flags field for the boolean flags?!? dumpDec< sal_Int32 >( "content-locked", "BOOLEAN" ); dumpDec< sal_Int32 >( "objects-locked", "BOOLEAN" ); break; - case OOBIN_ID_CHARTSHEETPR: + case BIFF12_ID_CHARTSHEETPR: dumpHex< sal_uInt16 >( "flags", "CHARTSHEETPR-FLAGS" ); dumpColor( "tab-color" ); dumpString( "codename" ); break; - case OOBIN_ID_CHARTSHEETVIEW: + case BIFF12_ID_CHARTSHEETVIEW: dumpHex< sal_uInt16 >( "flags", "CHARTSHEETVIEW-FLAGS" ); dumpDec< sal_Int32 >( "zoom-scale", "CONV-PERCENT" ); dumpDec< sal_Int32 >( "workbookview-id" ); break; - case OOBIN_ID_COL: + case BIFF12_ID_COL: dumpColRange(); dumpDec< sal_Int32 >( "col-width", "CONV-COLWIDTH" ); dumpDec< sal_Int32 >( "custom-xf-id" ); dumpHex< sal_uInt16 >( "flags", "COL-FLAGS" ); break; - case OOBIN_ID_COLBREAKS: + case BIFF12_ID_COLBREAKS: dumpDec< sal_Int32 >( "count" ); dumpDec< sal_Int32 >( "manual-count" ); break; - case OOBIN_ID_COLOR: + case BIFF12_ID_COLOR: dumpColor(); break; - case OOBIN_ID_COMMENT: + case BIFF12_ID_COMMENT: dumpDec< sal_Int32 >( "author-id" ); dumpRange( "ref" ); dumpGuid(); break; - case OOBIN_ID_COMMENTAUTHOR: + case BIFF12_ID_COMMENTAUTHOR: dumpString( "author" ); break; - case OOBIN_ID_COMMENTTEXT: + case BIFF12_ID_COMMENTTEXT: dumpString( "text", true ); break; - case OOBIN_ID_CONDFORMATTING: + case BIFF12_ID_CONDFORMATTING: dumpDec< sal_Int32 >( "cfrule-count" ); dumpDec< sal_Int32 >( "pivot-table", "BOOLEAN" ); dumpRangeList(); break; - case OOBIN_ID_CONTROL: + case BIFF12_ID_CONNECTION: + { + dumpDec< sal_uInt8 >( "refreshed-version" ); + dumpDec< sal_uInt8 >( "min-refresh-version" ); + dumpDec< sal_uInt8 >( "save-password", "CONNECTION-SAVEPASSWORD" ); + dumpUnused( 1 ); + dumpDec< sal_uInt16 >( "refresh-interval", "CONNECTION-INTERVAL" ); + dumpHex< sal_uInt16 >( "flags", "CONNECTION-FLAGS" ); + sal_uInt16 nStrFlags = dumpHex< sal_uInt16 >( "string-flags", "CONNECTION-STRINGFLAGS" ); + dumpDec< sal_Int32 >( "data-source-type", "CONNECTION-SOURCETYPE" ); + dumpDec< sal_Int32 >( "reconnect-type", "CONNECTION-RECONNECTTYPE" ); + dumpDec< sal_Int32 >( "id" ); + dumpDec< sal_uInt8 >( "credentials", "CONNECTION-CREDENTIALS" ); + if( nStrFlags & 0x0001 ) dumpString( "source-file" ); + if( nStrFlags & 0x0002 ) dumpString( "source-conn-file" ); + if( nStrFlags & 0x0004 ) dumpString( "description" ); + if( nStrFlags & 0x0008 ) dumpString( "name" ); + if( nStrFlags & 0x0010 ) dumpString( "sso-id" ); + } + break; + + case BIFF12_ID_CONTROL: dumpDec< sal_Int32 >( "shape-id" ); dumpString( "rel-id" ); dumpString( "name" ); break; - case OOBIN_ID_DATATABLE: + case BIFF12_ID_CUSTOMFILTER: + { + sal_uInt8 nType = dumpDec< sal_uInt8 >( "data-type", "CUSTOMFILTER-DATATYPE" ); + dumpDec< sal_uInt8 >( "operator", "CUSTOMFILTER-OPERATOR" ); + switch( nType ) + { + case 4: dumpDec< double >( "value" ); break; + case 6: dumpUnused( 8 ); dumpString( "value" ); break; + case 8: dumpBoolean( "value" ); dumpUnused( 7 ); break; + default: dumpUnused( 8 ); + } + } + break; + + case BIFF12_ID_DATATABLE: dumpRange( "table-range" ); dumpAddress( "ref1" ); dumpAddress( "ref2" ); dumpHex< sal_uInt8 >( "flags", "DATATABLE-FLAGS" ); break; - case OOBIN_ID_DATAVALIDATION: + case BIFF12_ID_DATAVALIDATION: dumpHex< sal_uInt32 >( "flags", "DATAVALIDATION-FLAGS" ); dumpRangeList(); dumpString( "error-title" ); @@ -1242,7 +1279,7 @@ void RecordStreamObject::implDumpRecordBody() mxFmlaObj->dumpNameFormula( "formula2" ); break; - case OOBIN_ID_DATAVALIDATIONS: + case BIFF12_ID_DATAVALIDATIONS: dumpHex< sal_uInt16 >( "flags", "DATAVALIDATIONS-FLAGS" ); dumpDec< sal_Int32 >( "input-x" ); dumpDec< sal_Int32 >( "input-y" ); @@ -1250,16 +1287,16 @@ void RecordStreamObject::implDumpRecordBody() dumpDec< sal_Int32 >( "count" ); break; - case OOBIN_ID_DDEITEMVALUES: + case BIFF12_ID_DDEITEMVALUES: dumpDec< sal_Int32 >( "rows" ); dumpDec< sal_Int32 >( "columns" ); break; - case OOBIN_ID_DDEITEM_STRING: + case BIFF12_ID_DDEITEM_STRING: dumpString( "value" ); break; - case OOBIN_ID_DEFINEDNAME: + case BIFF12_ID_DEFINEDNAME: dumpHex< sal_uInt32 >( "flags", "DEFINEDNAME-FLAGS" ); dumpChar( "accelerator", RTL_TEXTENCODING_ISO_8859_1 ); dumpDec< sal_Int32 >( "sheet-id", "DEFINEDNAME-SHEETID" ); @@ -1272,15 +1309,24 @@ void RecordStreamObject::implDumpRecordBody() if( mxStrm->getRemaining() >= 4 ) dumpString( "statusbar-text" ); break; - case OOBIN_ID_DIMENSION: + case BIFF12_ID_DIMENSION: dumpRange( "used-range" ); break; - case OOBIN_ID_DRAWING: + case BIFF12_ID_DISCRETEFILTER: + dumpString( "value" ); + break; + + case BIFF12_ID_DISCRETEFILTERS: + dumpBool< sal_Int32 >( "show-blank" ); + dumpDec< sal_Int32 >( "calendar-type", "DISCRETEFILTERS-CALTYPE" ); + break; + + case BIFF12_ID_DRAWING: dumpString( "rel-id" ); break; - case OOBIN_ID_DXF: + case BIFF12_ID_DXF: dumpHex< sal_uInt32 >( "flags", "DXF-FLAGS" ); for( sal_uInt16 nIndex = 0, nCount = dumpDec< sal_uInt16 >( "subrec-count" ); !mxStrm->isEof() && (nIndex < nCount); ++nIndex ) { @@ -1377,27 +1423,27 @@ void RecordStreamObject::implDumpRecordBody() } break; - case OOBIN_ID_EXTCELL_BOOL: + case BIFF12_ID_EXTCELL_BOOL: dumpColIndex(); dumpBoolean(); break; - case OOBIN_ID_EXTCELL_DOUBLE: + case BIFF12_ID_EXTCELL_DOUBLE: dumpColIndex(); dumpDec< double >( "value" ); break; - case OOBIN_ID_EXTCELL_ERROR: + case BIFF12_ID_EXTCELL_ERROR: dumpColIndex(); dumpErrorCode(); break; - case OOBIN_ID_EXTCELL_STRING: + case BIFF12_ID_EXTCELL_STRING: dumpColIndex(); dumpString( "value" ); break; - case OOBIN_ID_EXTERNALBOOK: + case BIFF12_ID_EXTERNALBOOK: switch( dumpDec< sal_uInt16 >( "type", "EXTERNALBOOK-TYPE" ) ) { case 0: @@ -1415,21 +1461,21 @@ void RecordStreamObject::implDumpRecordBody() } break; - case OOBIN_ID_EXTERNALNAME: + case BIFF12_ID_EXTERNALNAME: dumpString( "name" ); break; - case OOBIN_ID_EXTERNALNAMEFLAGS: + case BIFF12_ID_EXTERNALNAMEFLAGS: dumpHex< sal_uInt16 >( "flags", "EXTERNALNAMEFLAGS-FLAGS" ); dumpDec< sal_Int32 >( "sheet-id" ); dumpBoolean( "is-dde-ole" ); break; - case OOBIN_ID_EXTERNALREF: + case BIFF12_ID_EXTERNALREF: dumpString( "rel-id" ); break; - case OOBIN_ID_EXTERNALSHEETS: + case BIFF12_ID_EXTERNALSHEETS: { sal_Int32 nCount = dumpDec< sal_Int32 >( "ref-count" ); TableGuard aTabGuard( mxOut, 13, 17, 24 ); @@ -1445,28 +1491,28 @@ void RecordStreamObject::implDumpRecordBody() } break; - case OOBIN_ID_EXTROW: + case BIFF12_ID_EXTROW: dumpRowIndex(); break; - case OOBIN_ID_EXTSHEETDATA: + case BIFF12_ID_EXTSHEETDATA: dumpDec< sal_Int32 >( "sheet-id" ); dumpHex< sal_uInt8 >( "flags", "EXTSHEETDATA-FLAGS" ); break; - case OOBIN_ID_EXTSHEETNAMES: + case BIFF12_ID_EXTSHEETNAMES: mxOut->resetItemIndex(); for( sal_Int32 nSheet = 0, nCount = dumpDec< sal_Int32 >( "sheet-count" ); !mxStrm->isEof() && (nSheet < nCount); ++nSheet ) dumpString( "#sheet-name" ); break; - case OOBIN_ID_FILESHARING: + case BIFF12_ID_FILESHARING: dumpBool< sal_uInt16 >( "recommend-read-only" ); dumpHex< sal_uInt16 >( "password-hash" ); dumpString( "password-creator" ); break; - case OOBIN_ID_FILL: + case BIFF12_ID_FILL: dumpDec< sal_Int32 >( "fill-pattern", "FILLPATTERNS" ); dumpColor( "fg-color" ); dumpColor( "bg-color" ); @@ -1481,7 +1527,7 @@ void RecordStreamObject::implDumpRecordBody() } break; - case OOBIN_ID_FILEVERSION: + case BIFF12_ID_FILEVERSION: dumpGuid( "codename" ); dumpString( "app-name" ); dumpString( "last-edited" ); @@ -1489,7 +1535,12 @@ void RecordStreamObject::implDumpRecordBody() dumpString( "build-version" ); break; - case OOBIN_ID_FONT: + case BIFF12_ID_FILTERCOLUMN: + dumpDec< sal_Int32 >( "column-index" ); + dumpHex< sal_uInt16 >( "flags", "FILTERCOLUMN-FLAGS" ); + break; + + case BIFF12_ID_FONT: dumpDec< sal_uInt16 >( "height", "CONV-TWIP-TO-PT" ); dumpHex< sal_uInt16 >( "flags", "FONT-FLAGS" ); dumpDec< sal_uInt16 >( "weight", "FONT-WEIGHT" ); @@ -1503,39 +1554,39 @@ void RecordStreamObject::implDumpRecordBody() dumpString( "name" ); break; - case OOBIN_ID_FORMULA_BOOL: + case BIFF12_ID_FORMULA_BOOL: dumpCellHeader( true ); dumpBoolean(); dumpHex< sal_uInt16 >( "flags", "FORMULA-FLAGS" ); mxFmlaObj->dumpCellFormula(); break; - case OOBIN_ID_FORMULA_DOUBLE: + case BIFF12_ID_FORMULA_DOUBLE: dumpCellHeader( true ); dumpDec< double >( "value" ); dumpHex< sal_uInt16 >( "flags", "FORMULA-FLAGS" ); mxFmlaObj->dumpCellFormula(); break; - case OOBIN_ID_FORMULA_ERROR: + case BIFF12_ID_FORMULA_ERROR: dumpCellHeader( true ); dumpErrorCode(); dumpHex< sal_uInt16 >( "flags", "FORMULA-FLAGS" ); mxFmlaObj->dumpCellFormula(); break; - case OOBIN_ID_FORMULA_STRING: + case BIFF12_ID_FORMULA_STRING: dumpCellHeader( true ); dumpString( "value" ); dumpHex< sal_uInt16 >( "flags", "FORMULA-FLAGS" ); mxFmlaObj->dumpCellFormula(); break; - case OOBIN_ID_FUNCTIONGROUP: + case BIFF12_ID_FUNCTIONGROUP: dumpString( "name" ); break; - case OOBIN_ID_HEADERFOOTER: + case BIFF12_ID_HEADERFOOTER: dumpHex< sal_uInt16 >( "flags", "HEADERFOOTER-FLAGS" ); dumpString( "odd-header" ); dumpString( "odd-footer" ); @@ -1545,7 +1596,7 @@ void RecordStreamObject::implDumpRecordBody() dumpString( "first-footer" ); break; - case OOBIN_ID_HYPERLINK: + case BIFF12_ID_HYPERLINK: dumpRange(); dumpString( "rel-id" ); dumpString( "location" ); @@ -1553,84 +1604,84 @@ void RecordStreamObject::implDumpRecordBody() dumpString( "display" ); break; - case OOBIN_ID_INPUTCELLS: + case BIFF12_ID_INPUTCELLS: dumpAddress( "pos" ); dumpUnused( 8 ); dumpDec< sal_uInt16 >( "numfmt-id" ); dumpString( "value" ); break; - case OOBIN_ID_LEGACYDRAWING: + case BIFF12_ID_LEGACYDRAWING: dumpString( "rel-id" ); break; - case OOBIN_ID_MERGECELL: + case BIFF12_ID_MERGECELL: dumpRange(); break; - case OOBIN_ID_MULTCELL_BLANK: + case BIFF12_ID_MULTCELL_BLANK: dumpCellHeader( false ); break; - case OOBIN_ID_MULTCELL_BOOL: + case BIFF12_ID_MULTCELL_BOOL: dumpCellHeader( false ); dumpBoolean(); break; - case OOBIN_ID_MULTCELL_DOUBLE: + case BIFF12_ID_MULTCELL_DOUBLE: dumpCellHeader( false ); dumpDec< double >( "value" ); break; - case OOBIN_ID_MULTCELL_ERROR: + case BIFF12_ID_MULTCELL_ERROR: dumpCellHeader( false ); dumpErrorCode(); break; - case OOBIN_ID_MULTCELL_RK: + case BIFF12_ID_MULTCELL_RK: dumpCellHeader( false ); dumpRk( "value" ); break; - case OOBIN_ID_MULTCELL_RSTRING: + case BIFF12_ID_MULTCELL_RSTRING: dumpCellHeader( false ); dumpString( "value", true ); break; - case OOBIN_ID_MULTCELL_SI: + case BIFF12_ID_MULTCELL_SI: dumpCellHeader( false ); dumpDec< sal_Int32 >( "string-id" ); break; - case OOBIN_ID_MULTCELL_STRING: + case BIFF12_ID_MULTCELL_STRING: dumpCellHeader( false ); dumpString( "value" ); break; - case OOBIN_ID_NUMFMT: + case BIFF12_ID_NUMFMT: dumpDec< sal_uInt16 >( "numfmt-id" ); dumpString( "format" ); break; - case OOBIN_ID_OLEOBJECT: + case BIFF12_ID_OLEOBJECT: { dumpDec< sal_Int32 >( "aspect", "OLEOBJECT-ASPECT" ); dumpDec< sal_Int32 >( "update", "OLEOBJECT-UPDATE" ); dumpDec< sal_Int32 >( "shape-id" ); sal_uInt16 nFlags = dumpHex< sal_uInt16 >( "flags", "OLEOBJECT-FLAGS" ); dumpString( "prog-id" ); - if( getFlag( nFlags, OOBIN_OLEOBJECT_LINKED ) ) + if( getFlag( nFlags, BIFF12_OLEOBJECT_LINKED ) ) mxFmlaObj->dumpNameFormula( "link" ); else dumpString( "rel-id" ); } break; - case OOBIN_ID_OLESIZE: + case BIFF12_ID_OLESIZE: dumpRange( "visible-range" ); break; - case OOBIN_ID_PAGEMARGINS: + case BIFF12_ID_PAGEMARGINS: dumpDec< double >( "left-margin" ); dumpDec< double >( "right-margin" ); dumpDec< double >( "top-margin" ); @@ -1639,7 +1690,7 @@ void RecordStreamObject::implDumpRecordBody() dumpDec< double >( "footer-margin" ); break; - case OOBIN_ID_PAGESETUP: + case BIFF12_ID_PAGESETUP: dumpDec< sal_Int32 >( "paper-size", "PAGESETUP-PAPERSIZE" ); dumpDec< sal_Int32 >( "scaling", "CONV-PERCENT" ); dumpDec< sal_Int32 >( "horizontal-res", "PAGESETUP-DPI" ); @@ -1652,7 +1703,7 @@ void RecordStreamObject::implDumpRecordBody() dumpString( "printer-settings-rel-id" ); break; - case OOBIN_ID_PANE: + case BIFF12_ID_PANE: dumpDec< double >( "x-split-pos" ); dumpDec< double >( "y-split-pos" ); dumpAddress( "second-top-left" ); @@ -1660,7 +1711,7 @@ void RecordStreamObject::implDumpRecordBody() dumpHex< sal_uInt8 >( "flags", "PANE-FLAGS" ); break; - case OOBIN_ID_PCDEFINITION: + case BIFF12_ID_PCDEFINITION: { dumpDec< sal_uInt8 >( "refreshed-version" ); dumpDec< sal_uInt8 >( "min-refresh-version" ); @@ -1675,7 +1726,7 @@ void RecordStreamObject::implDumpRecordBody() } break; - case OOBIN_ID_PCDFIELD: + case BIFF12_ID_PCDFIELD: { sal_uInt16 nFlags = dumpHex< sal_uInt16 >( "flags", "PCDFIELD-FLAGS" ); dumpDec< sal_Int32 >( "numfmt-id" ); @@ -1695,12 +1746,12 @@ void RecordStreamObject::implDumpRecordBody() } break; - case OOBIN_ID_PCDFIELDGROUP: + case BIFF12_ID_PCDFIELDGROUP: dumpDec< sal_Int32 >( "parent-field" ); dumpDec< sal_Int32 >( "base-field" ); break; - case OOBIN_ID_PCDFRANGEPR: + case BIFF12_ID_PCDFRANGEPR: dumpDec< sal_uInt8 >( "group-by", "PCDFRANGEPR-GROUPBY" ); dumpHex< sal_uInt8 >( "flags", "PCDFRANGEPR-FLAGS" ); dumpDec< double >( "start-value" ); @@ -1708,7 +1759,7 @@ void RecordStreamObject::implDumpRecordBody() dumpDec< double >( "interval" ); break; - case OOBIN_ID_PCDFSHAREDITEMS: + case BIFF12_ID_PCDFSHAREDITEMS: { sal_uInt16 nFlags = dumpHex< sal_uInt16 >( "flags", "PCDFSHAREDITEMS-FLAGS" ); dumpDec< sal_Int32 >( "count" ); @@ -1717,7 +1768,7 @@ void RecordStreamObject::implDumpRecordBody() } break; - case OOBIN_ID_PCDSHEETSOURCE: + case BIFF12_ID_PCDSHEETSOURCE: { sal_uInt8 nIsDefName = dumpBoolean( "is-def-name" ); dumpBoolean( "is-builtin-def-name" ); @@ -1728,12 +1779,12 @@ void RecordStreamObject::implDumpRecordBody() } break; - case OOBIN_ID_PCDSOURCE: + case BIFF12_ID_PCDSOURCE: dumpDec< sal_Int32 >( "source-type", "PCDSOURCE-TYPE" ); dumpDec< sal_Int32 >( "connection-id" ); break; - case OOBIN_ID_PCITEM_ARRAY: + case BIFF12_ID_PCITEM_ARRAY: { sal_uInt16 nType = dumpDec< sal_uInt16 >( "type", "PCITEM_ARRAY-TYPE" ); sal_Int32 nCount = dumpDec< sal_Int32 >( "count" ); @@ -1752,97 +1803,97 @@ void RecordStreamObject::implDumpRecordBody() } break; - case OOBIN_ID_PCITEM_BOOL: + case BIFF12_ID_PCITEM_BOOL: dumpBoolean( "value" ); break; - case OOBIN_ID_PCITEM_DATE: + case BIFF12_ID_PCITEM_DATE: dumpPivotDateTime( "value" ); break; - case OOBIN_ID_PCITEM_DOUBLE: + case BIFF12_ID_PCITEM_DOUBLE: dumpDec< double >( "value" ); // TODO: server formatting break; - case OOBIN_ID_PCITEM_ERROR: + case BIFF12_ID_PCITEM_ERROR: dumpErrorCode( "value" ); // TODO: server formatting break; - case OOBIN_ID_PCITEM_INDEX: + case BIFF12_ID_PCITEM_INDEX: dumpDec< sal_Int32 >( "index" ); break; - case OOBIN_ID_PCITEM_MISSING: + case BIFF12_ID_PCITEM_MISSING: // TODO: server formatting break; - case OOBIN_ID_PCITEM_STRING: + case BIFF12_ID_PCITEM_STRING: dumpString( "value" ); // TODO: server formatting break; - case OOBIN_ID_PCITEMA_BOOL: + case BIFF12_ID_PCITEMA_BOOL: dumpBoolean( "value" ); // TODO: additional info break; - case OOBIN_ID_PCITEMA_DATE: + case BIFF12_ID_PCITEMA_DATE: dumpPivotDateTime( "value" ); // TODO: additional info break; - case OOBIN_ID_PCITEMA_DOUBLE: + case BIFF12_ID_PCITEMA_DOUBLE: dumpDec< double >( "value" ); // TODO: additional info break; - case OOBIN_ID_PCITEMA_ERROR: + case BIFF12_ID_PCITEMA_ERROR: dumpErrorCode( "value" ); // TODO: additional info break; - case OOBIN_ID_PCITEMA_MISSING: + case BIFF12_ID_PCITEMA_MISSING: // TODO: additional info break; - case OOBIN_ID_PCITEMA_STRING: + case BIFF12_ID_PCITEMA_STRING: dumpString( "value" ); // TODO: additional info break; - case OOBIN_ID_PHONETICPR: + case BIFF12_ID_PHONETICPR: dumpDec< sal_uInt16 >( "font-id", "FONTNAMES" ); dumpDec< sal_Int32 >( "type", "PHONETICPR-TYPE" ); dumpDec< sal_Int32 >( "alignment", "PHONETICPR-ALIGNMENT" ); break; - case OOBIN_ID_PICTURE: + case BIFF12_ID_PICTURE: dumpString( "rel-id" ); break; - case OOBIN_ID_PIVOTAREA: + case BIFF12_ID_PIVOTAREA: dumpDec< sal_Int32 >( "field" ); dumpDec< sal_uInt8 >( "type", "PIVOTAREA-TYPE" ); dumpHex< sal_uInt8 >( "flags-1", "PIVOTAREA-FLAGS1" ); dumpHex< sal_uInt16 >( "flags-2", "PIVOTAREA-FLAGS2" ); break; - case OOBIN_ID_PIVOTCACHE: + case BIFF12_ID_PIVOTCACHE: dumpDec< sal_Int32 >( "cache-id" ); dumpString( "rel-id" ); break; - case OOBIN_ID_PTCOLFIELDS: + case BIFF12_ID_PTCOLFIELDS: dumpDec< sal_Int32 >( "count" ); mxOut->resetItemIndex(); while( mxStrm->getRemaining() >= 4 ) dumpDec< sal_Int32 >( "#field", "PT-FIELDINDEX" ); break; - case OOBIN_ID_PTDATAFIELD: + case BIFF12_ID_PTDATAFIELD: dumpDec< sal_Int32 >( "field" ); dumpDec< sal_Int32 >( "subtotal", "PTDATAFIELD-SUBTOTAL" ); dumpDec< sal_Int32 >( "show-data-as", "PTDATAFIELD-SHOWDATAAS" ); @@ -1853,7 +1904,7 @@ void RecordStreamObject::implDumpRecordBody() dumpString( "name" ); break; - case OOBIN_ID_PTDEFINITION: + case BIFF12_ID_PTDEFINITION: { dumpDec< sal_uInt8 >( "created-version" ); dumpHex< sal_uInt8 >( "flags-1", "PTDEFINITION-FLAGS1" ); @@ -1883,7 +1934,7 @@ void RecordStreamObject::implDumpRecordBody() } break; - case OOBIN_ID_PTFIELD: + case BIFF12_ID_PTFIELD: dumpHex< sal_uInt32 >( "flags-1", "PTFIELD-FLAGS1" ); dumpDec< sal_Int32 >( "num-fmt" ); dumpHex< sal_uInt32 >( "flags-2", "PTFIELD-FLAGS2" ); @@ -1891,7 +1942,7 @@ void RecordStreamObject::implDumpRecordBody() dumpDec< sal_Int32 >( "autoshow-datafield-idx" ); break; - case OOBIN_ID_PTFILTER: + case BIFF12_ID_PTFILTER: { dumpDec< sal_Int32 >( "field" ); dumpDec< sal_Int32 >( "member-prop-field" ); @@ -1908,7 +1959,7 @@ void RecordStreamObject::implDumpRecordBody() } break; - case OOBIN_ID_PTFITEM: + case BIFF12_ID_PTFITEM: { dumpDec< sal_uInt8 >( "type", "PTFITEM-TYPE" ); sal_uInt16 nFlags = dumpHex< sal_uInt16 >( "flags", "PTFITEM-FLAGS" ); @@ -1917,7 +1968,7 @@ void RecordStreamObject::implDumpRecordBody() } break; - case OOBIN_ID_PTLOCATION: + case BIFF12_ID_PTLOCATION: dumpRange( "location" ); dumpDec< sal_Int32 >( "first-header-row" ); dumpDec< sal_Int32 >( "first-data-row" ); @@ -1926,7 +1977,7 @@ void RecordStreamObject::implDumpRecordBody() dumpDec< sal_Int32 >( "page-col-count" ); break; - case OOBIN_ID_PTPAGEFIELD: + case BIFF12_ID_PTPAGEFIELD: { dumpDec< sal_Int32 >( "field" ); dumpDec< sal_Int32 >( "cache-item", "PTPAGEFIELD-ITEM" ); @@ -1937,21 +1988,28 @@ void RecordStreamObject::implDumpRecordBody() } break; - case OOBIN_ID_PTREFERENCE: + case BIFF12_ID_PTREFERENCE: dumpDec< sal_Int32 >( "field", "PT-FIELDINDEX" ); dumpDec< sal_Int32 >( "item-count" ); dumpHex< sal_uInt16 >( "flags-1", "PTREFERENCE-FLAGS1" ); dumpHex< sal_uInt8 >( "flags-2", "PTREFERENCE-FLAGS2" ); break; - case OOBIN_ID_PTROWFIELDS: + case BIFF12_ID_PTROWFIELDS: dumpDec< sal_Int32 >( "count" ); mxOut->resetItemIndex(); while( mxStrm->getRemaining() >= 4 ) dumpDec< sal_Int32 >( "#field", "PT-FIELDINDEX" ); break; - case OOBIN_ID_ROW: + case BIFF12_ID_QUERYTABLE: + dumpHex< sal_uInt32 >( "flags", "QUERYTABLE-FLAGS" ); + dumpDec< sal_uInt16 >( "autoformat-id" ); + dumpDec< sal_Int32 >( "connection-id" ); + dumpString( "defined-name" ); + break; + + case BIFF12_ID_ROW: dumpRowIndex(); dumpDec< sal_Int32 >( "custom-xf-id" ); dumpDec< sal_uInt16 >( "height", "CONV-TWIP-TO-PT" ); @@ -1962,12 +2020,12 @@ void RecordStreamObject::implDumpRecordBody() dumpRowRange( "#row-spans" ); break; - case OOBIN_ID_ROWBREAKS: + case BIFF12_ID_ROWBREAKS: dumpDec< sal_Int32 >( "count" ); dumpDec< sal_Int32 >( "manual-count" ); break; - case OOBIN_ID_SCENARIO: + case BIFF12_ID_SCENARIO: dumpDec< sal_uInt16 >( "cell-count" ); // two longs instead of flag field dumpDec< sal_Int32 >( "locked", "BOOLEAN" ); @@ -1977,32 +2035,32 @@ void RecordStreamObject::implDumpRecordBody() dumpString( "user" ); break; - case OOBIN_ID_SCENARIOS: + case BIFF12_ID_SCENARIOS: dumpDec< sal_uInt16 >( "selected" ); dumpDec< sal_uInt16 >( "shown" ); dumpRangeList( "result-cells" ); break; - case OOBIN_ID_SELECTION: + case BIFF12_ID_SELECTION: dumpDec< sal_Int32 >( "pane", "PANE-ID" ); dumpAddress( "active-cell" ); dumpDec< sal_Int32 >( "active-cell-id" ); dumpRangeList( "selection" ); break; - case OOBIN_ID_SHAREDFMLA: + case BIFF12_ID_SHAREDFMLA: dumpRange( "formula-range" ); mxFmlaObj->dumpCellFormula(); break; - case OOBIN_ID_SHEET: + case BIFF12_ID_SHEET: dumpDec< sal_Int32 >( "sheet-state", "SHEET-STATE" ); dumpDec< sal_Int32 >( "sheet-id" ); dumpString( "rel-id" ); dumpString( "sheet-name" ); break; - case OOBIN_ID_SHEETFORMATPR: + case BIFF12_ID_SHEETFORMATPR: dumpDec< sal_Int32 >( "default-col-width", "CONV-COLWIDTH" ); dumpDec< sal_uInt16 >( "base-col-width" ); dumpDec< sal_uInt16 >( "default-row-height", "CONV-TWIP-TO-PT" ); @@ -2011,7 +2069,7 @@ void RecordStreamObject::implDumpRecordBody() dumpDec< sal_uInt8 >( "max-col-outline" ); break; - case OOBIN_ID_SHEETPR: + case BIFF12_ID_SHEETPR: dumpHex< sal_uInt16 >( "flags1", "SHEETPR-FLAGS1" ); dumpHex< sal_uInt8 >( "flags2", "SHEETPR-FLAGS2" ); dumpColor( "tab-color" ); @@ -2019,7 +2077,7 @@ void RecordStreamObject::implDumpRecordBody() dumpString( "codename" ); break; - case OOBIN_ID_SHEETPROTECTION: + case BIFF12_ID_SHEETPROTECTION: dumpHex< sal_uInt16 >( "password-hash" ); // no flags field for all these boolean flags?!? dumpDec< sal_Int32 >( "sheet-locked", "BOOLEAN" ); @@ -2040,7 +2098,7 @@ void RecordStreamObject::implDumpRecordBody() dumpDec< sal_Int32 >( "select-unlocked-cells-locked", "BOOLEAN" ); break; - case OOBIN_ID_SHEETVIEW: + case BIFF12_ID_SHEETVIEW: dumpHex< sal_uInt16 >( "flags", "SHEETVIEW-FLAGS" ); dumpDec< sal_Int32 >( "view-type", "SHEETVIEW-TYPE" ); dumpAddress( "top-left" ); @@ -2052,16 +2110,16 @@ void RecordStreamObject::implDumpRecordBody() dumpDec< sal_Int32 >( "workbookview-id" ); break; - case OOBIN_ID_SI: + case BIFF12_ID_SI: dumpString( "string", true ); break; - case OOBIN_ID_SST: + case BIFF12_ID_SST: dumpDec< sal_Int32 >( "string-cell-count" ); dumpDec< sal_Int32 >( "sst-size" ); break; - case OOBIN_ID_TABLE: + case BIFF12_ID_TABLE: dumpRange(); dumpDec< sal_Int32 >( "type", "TABLE-TYPE" ); dumpDec< sal_Int32 >( "id" ); @@ -2083,41 +2141,51 @@ void RecordStreamObject::implDumpRecordBody() dumpString( "totalsrow-cell-style" ); break; - case OOBIN_ID_TABLEPART: + case BIFF12_ID_TABLEPART: dumpString( "rel-id" ); break; - case OOBIN_ID_TABLESTYLEINFO: + case BIFF12_ID_TABLESTYLEINFO: dumpHex< sal_uInt16 >( "flags", "TABLESTYLEINFO-FLAGS" ); dumpString( "style-name" ); break; - case OOBIN_ID_TOP10FILTER: + case BIFF12_ID_TOP10FILTER: dumpHex< sal_uInt8 >( "flags", "TOP10FILTER-FLAGS" ); dumpDec< double >( "value" ); dumpDec< double >( "cell-value" ); break; - case OOBIN_ID_VOLTYPEMAIN: + case BIFF12_ID_VOLTYPEMAIN: dumpString( "first" ); break; - case OOBIN_ID_VOLTYPESTP: + case BIFF12_ID_VOLTYPESTP: dumpString( "topic-value" ); break; - case OOBIN_ID_VOLTYPETR: + case BIFF12_ID_VOLTYPETR: dumpAddress( "ref" ); dumpDec< sal_Int32 >( "sheet-id" ); break; - case OOBIN_ID_WORKBOOKPR: + case BIFF12_ID_WEBPR: + { + dumpHex< sal_uInt32 >( "flags", "WEBPR-FLAGS" ); + sal_uInt8 nStrFlags = dumpHex< sal_uInt8 >( "string-flags", "WEBPR-STRINGFLAGS" ); + if( nStrFlags & 0x04 ) dumpString( "url" ); + if( nStrFlags & 0x01 ) dumpString( "post-method" ); + if( nStrFlags & 0x02 ) dumpString( "edit-page" ); + } + break; + + case BIFF12_ID_WORKBOOKPR: dumpHex< sal_uInt32 >( "flags", "WORKBBOKPR-FLAGS" ); dumpDec< sal_Int32 >( "default-theme-version" ); dumpString( "codename" ); break; - case OOBIN_ID_WORKBOOKVIEW: + case BIFF12_ID_WORKBOOKVIEW: dumpDec< sal_Int32 >( "x-window" ); dumpDec< sal_Int32 >( "y-window" ); dumpDec< sal_Int32 >( "win-width" ); @@ -2128,7 +2196,7 @@ void RecordStreamObject::implDumpRecordBody() dumpHex< sal_uInt8 >( "flags", "WORKBOOKVIEW-FLAGS" ); break; - case OOBIN_ID_XF: + case BIFF12_ID_XF: dumpDec< sal_uInt16 >( "parent-xf-id" ); dumpDec< sal_uInt16 >( "numfmt-id" ); dumpDec< sal_uInt16 >( "font-id", "FONTNAMES" ); @@ -2219,6 +2287,7 @@ void RootStorageObject::implDumpStream( const BinaryInputStreamRef& rxStrm, cons rStrgPath.equalsAscii( "xl/macrosheets" ) || rStrgPath.equalsAscii( "xl/pivotCache" ) || rStrgPath.equalsAscii( "xl/pivotTables" ) || + rStrgPath.equalsAscii( "xl/queryTables" ) || rStrgPath.equalsAscii( "xl/tables" ) || rStrgPath.equalsAscii( "xl/worksheets" ) ) { @@ -2269,4 +2338,3 @@ void Dumper::implDump() } // namespace oox #endif - |