| /************************************************************** |
| * |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| * |
| *************************************************************/ |
| |
| |
| |
| #ifndef OOX_XLS_BIFFHELPER_HXX |
| #define OOX_XLS_BIFFHELPER_HXX |
| |
| #include "oox/helper/binarystreambase.hxx" |
| |
| namespace oox { class SequenceInputStream; } |
| |
| namespace oox { |
| namespace xls { |
| |
| class BiffInputStream; |
| |
| // BIFF12 record identifiers ================================================== |
| |
| const sal_Int32 BIFF12_ID_ARRAY = 0x01AA; |
| const sal_Int32 BIFF12_ID_AUTOFILTER = 0x00A1; |
| const sal_Int32 BIFF12_ID_AUTOSORTSCOPE = 0x01CB; |
| const sal_Int32 BIFF12_ID_BINARYINDEXBLOCK = 0x002A; |
| const sal_Int32 BIFF12_ID_BINARYINDEXROWS = 0x0028; |
| const sal_Int32 BIFF12_ID_BOOKVIEWS = 0x0087; |
| const sal_Int32 BIFF12_ID_BORDER = 0x002E; |
| const sal_Int32 BIFF12_ID_BORDERS = 0x0265; |
| const sal_Int32 BIFF12_ID_BRK = 0x018C; |
| const sal_Int32 BIFF12_ID_CALCPR = 0x009D; |
| const sal_Int32 BIFF12_ID_CELL_BLANK = 0x0001; |
| const sal_Int32 BIFF12_ID_CELL_BOOL = 0x0004; |
| const sal_Int32 BIFF12_ID_CELL_DOUBLE = 0x0005; |
| const sal_Int32 BIFF12_ID_CELL_ERROR = 0x0003; |
| const sal_Int32 BIFF12_ID_CELL_RK = 0x0002; |
| const sal_Int32 BIFF12_ID_CELL_RSTRING = 0x003E; |
| const sal_Int32 BIFF12_ID_CELL_SI = 0x0007; |
| const sal_Int32 BIFF12_ID_CELL_STRING = 0x0006; |
| const sal_Int32 BIFF12_ID_CELLSTYLE = 0x0030; |
| const sal_Int32 BIFF12_ID_CELLSTYLES = 0x026B; |
| const sal_Int32 BIFF12_ID_CELLSTYLEXFS = 0x0272; |
| const sal_Int32 BIFF12_ID_CELLXFS = 0x0269; |
| const sal_Int32 BIFF12_ID_CFCOLOR = 0x0234; |
| const sal_Int32 BIFF12_ID_CFRULE = 0x01CF; |
| const sal_Int32 BIFF12_ID_CHARTPAGESETUP = 0x028C; |
| const sal_Int32 BIFF12_ID_CHARTPROTECTION = 0x029D; |
| const sal_Int32 BIFF12_ID_CHARTSHEETPR = 0x028B; |
| const sal_Int32 BIFF12_ID_CHARTSHEETVIEW = 0x008D; |
| const sal_Int32 BIFF12_ID_CHARTSHEETVIEWS = 0x008B; |
| const sal_Int32 BIFF12_ID_COL = 0x003C; |
| const sal_Int32 BIFF12_ID_COLBREAKS = 0x018A; |
| const sal_Int32 BIFF12_ID_COLOR = 0x023C; |
| const sal_Int32 BIFF12_ID_COLORS = 0x01D9; |
| const sal_Int32 BIFF12_ID_COLORSCALE = 0x01D5; |
| const sal_Int32 BIFF12_ID_COLS = 0x0186; |
| const sal_Int32 BIFF12_ID_COMMENT = 0x027B; |
| const sal_Int32 BIFF12_ID_COMMENTAUTHOR = 0x0278; |
| const sal_Int32 BIFF12_ID_COMMENTAUTHORS = 0x0276; |
| const sal_Int32 BIFF12_ID_COMMENTLIST = 0x0279; |
| const sal_Int32 BIFF12_ID_COMMENTS = 0x0274; |
| const sal_Int32 BIFF12_ID_COMMENTTEXT = 0x027D; |
| const sal_Int32 BIFF12_ID_CONDFORMATTING = 0x01CD; |
| const sal_Int32 BIFF12_ID_CONNECTION = 0x00C9; |
| const sal_Int32 BIFF12_ID_CONNECTIONS = 0x01AD; |
| const sal_Int32 BIFF12_ID_CONTROL = 0x0284; |
| const sal_Int32 BIFF12_ID_CONTROLS = 0x0283; |
| const sal_Int32 BIFF12_ID_CUSTOMCHARTVIEW = 0x028F; |
| const sal_Int32 BIFF12_ID_CUSTOMCHARTVIEWS = 0x028D; |
| const sal_Int32 BIFF12_ID_CUSTOMFILTER = 0x00AE; |
| const sal_Int32 BIFF12_ID_CUSTOMFILTERS = 0x00AC; |
| const sal_Int32 BIFF12_ID_CUSTOMSHEETVIEW = 0x01A7; |
| const sal_Int32 BIFF12_ID_CUSTOMSHEETVIEWS = 0x01A6; |
| const sal_Int32 BIFF12_ID_CUSTOMWORKBOOKVIEW= 0x018D; |
| const sal_Int32 BIFF12_ID_DATABAR = 0x01D3; |
| const sal_Int32 BIFF12_ID_DATATABLE = 0x01AC; |
| const sal_Int32 BIFF12_ID_DATAVALIDATION = 0x0040; |
| const sal_Int32 BIFF12_ID_DATAVALIDATIONS = 0x023D; |
| const sal_Int32 BIFF12_ID_DDEITEMVALUES = 0x0242; |
| const sal_Int32 BIFF12_ID_DDEITEM_BOOL = 0x0248; |
| const sal_Int32 BIFF12_ID_DDEITEM_DOUBLE = 0x0244; |
| const sal_Int32 BIFF12_ID_DDEITEM_ERROR = 0x0245; |
| const sal_Int32 BIFF12_ID_DDEITEM_STRING = 0x0246; |
| const sal_Int32 BIFF12_ID_DEFINEDNAME = 0x0027; |
| const sal_Int32 BIFF12_ID_DIMENSION = 0x0094; |
| const sal_Int32 BIFF12_ID_DISCRETEFILTER = 0x00A7; |
| const sal_Int32 BIFF12_ID_DISCRETEFILTERS = 0x00A5; |
| const sal_Int32 BIFF12_ID_DRAWING = 0x0226; |
| const sal_Int32 BIFF12_ID_DXF = 0x01FB; |
| const sal_Int32 BIFF12_ID_DXFS = 0x01F9; |
| const sal_Int32 BIFF12_ID_EXTCELL_BLANK = 0x016F; |
| const sal_Int32 BIFF12_ID_EXTCELL_BOOL = 0x0171; |
| const sal_Int32 BIFF12_ID_EXTCELL_DOUBLE = 0x0170; |
| const sal_Int32 BIFF12_ID_EXTCELL_ERROR = 0x0172; |
| const sal_Int32 BIFF12_ID_EXTCELL_STRING = 0x0173; |
| const sal_Int32 BIFF12_ID_EXTERNALADDIN = 0x029B; |
| const sal_Int32 BIFF12_ID_EXTERNALBOOK = 0x0168; |
| const sal_Int32 BIFF12_ID_EXTERNALNAME = 0x0241; |
| const sal_Int32 BIFF12_ID_EXTERNALREF = 0x0163; |
| const sal_Int32 BIFF12_ID_EXTERNALREFS = 0x0161; |
| const sal_Int32 BIFF12_ID_EXTERNALSELF = 0x0165; |
| const sal_Int32 BIFF12_ID_EXTERNALSAME = 0x0166; |
| const sal_Int32 BIFF12_ID_EXTERNALSHEETS = 0x016A; |
| const sal_Int32 BIFF12_ID_EXTROW = 0x016E; |
| const sal_Int32 BIFF12_ID_EXTSHEETDATA = 0x016B; |
| const sal_Int32 BIFF12_ID_EXTERNALNAMEFLAGS = 0x024A; |
| const sal_Int32 BIFF12_ID_EXTSHEETNAMES = 0x0167; |
| const sal_Int32 BIFF12_ID_FILESHARING = 0x0224; |
| const sal_Int32 BIFF12_ID_FILEVERSION = 0x0080; |
| const sal_Int32 BIFF12_ID_FILL = 0x002D; |
| const sal_Int32 BIFF12_ID_FILLS = 0x025B; |
| const sal_Int32 BIFF12_ID_FILTERCOLUMN = 0x00A3; |
| const sal_Int32 BIFF12_ID_FONT = 0x002B; |
| const sal_Int32 BIFF12_ID_FONTS = 0x0263; |
| const sal_Int32 BIFF12_ID_FORMULA_STRING = 0x0008; |
| const sal_Int32 BIFF12_ID_FORMULA_DOUBLE = 0x0009; |
| const sal_Int32 BIFF12_ID_FORMULA_BOOL = 0x000A; |
| const sal_Int32 BIFF12_ID_FORMULA_ERROR = 0x000B; |
| const sal_Int32 BIFF12_ID_FUNCTIONGROUP = 0x0299; |
| const sal_Int32 BIFF12_ID_FUNCTIONGROUPS = 0x0298; |
| const sal_Int32 BIFF12_ID_HEADERFOOTER = 0x01DF; |
| const sal_Int32 BIFF12_ID_HYPERLINK = 0x01EE; |
| const sal_Int32 BIFF12_ID_ICONSET = 0x01D1; |
| const sal_Int32 BIFF12_ID_INDEXEDCOLORS = 0x0235; |
| const sal_Int32 BIFF12_ID_INPUTCELLS = 0x01F8; |
| const sal_Int32 BIFF12_ID_LEGACYDRAWING = 0x0227; |
| const sal_Int32 BIFF12_ID_MERGECELL = 0x00B0; |
| const sal_Int32 BIFF12_ID_MERGECELLS = 0x00B1; |
| const sal_Int32 BIFF12_ID_MRUCOLORS = 0x0239; |
| const sal_Int32 BIFF12_ID_MULTCELL_BLANK = 0x000C; |
| const sal_Int32 BIFF12_ID_MULTCELL_BOOL = 0x000F; |
| const sal_Int32 BIFF12_ID_MULTCELL_DOUBLE = 0x0010; |
| const sal_Int32 BIFF12_ID_MULTCELL_ERROR = 0x000E; |
| const sal_Int32 BIFF12_ID_MULTCELL_RK = 0x000D; |
| const sal_Int32 BIFF12_ID_MULTCELL_RSTRING = 0x003D; |
| const sal_Int32 BIFF12_ID_MULTCELL_SI = 0x0012; |
| const sal_Int32 BIFF12_ID_MULTCELL_STRING = 0x0011; |
| const sal_Int32 BIFF12_ID_NUMFMT = 0x002C; |
| const sal_Int32 BIFF12_ID_NUMFMTS = 0x0267; |
| const sal_Int32 BIFF12_ID_OLEOBJECT = 0x027F; |
| const sal_Int32 BIFF12_ID_OLEOBJECTS = 0x027E; |
| const sal_Int32 BIFF12_ID_OLESIZE = 0x0225; |
| const sal_Int32 BIFF12_ID_PAGEMARGINS = 0x01DC; |
| const sal_Int32 BIFF12_ID_PAGESETUP = 0x01DE; |
| const sal_Int32 BIFF12_ID_PANE = 0x0097; |
| const sal_Int32 BIFF12_ID_PCDEFINITION = 0x00B3; |
| const sal_Int32 BIFF12_ID_PCDFDISCRETEPR = 0x00E1; |
| const sal_Int32 BIFF12_ID_PCDFGROUPITEMS = 0x00DD; |
| const sal_Int32 BIFF12_ID_PCDFIELD = 0x00B7; |
| const sal_Int32 BIFF12_ID_PCDFIELDGROUP = 0x00DB; |
| const sal_Int32 BIFF12_ID_PCDFIELDS = 0x00B5; |
| const sal_Int32 BIFF12_ID_PCDFRANGEPR = 0x00DF; |
| const sal_Int32 BIFF12_ID_PCDFSHAREDITEMS = 0x00BD; |
| const sal_Int32 BIFF12_ID_PCDSHEETSOURCE = 0x00BB; |
| const sal_Int32 BIFF12_ID_PCDSOURCE = 0x00B9; |
| const sal_Int32 BIFF12_ID_PCITEM_ARRAY = 0x00BF; |
| const sal_Int32 BIFF12_ID_PCITEM_BOOL = 0x0016; |
| const sal_Int32 BIFF12_ID_PCITEM_DATE = 0x0019; |
| const sal_Int32 BIFF12_ID_PCITEM_DOUBLE = 0x0015; |
| const sal_Int32 BIFF12_ID_PCITEM_ERROR = 0x0017; |
| const sal_Int32 BIFF12_ID_PCITEM_INDEX = 0x001A; |
| const sal_Int32 BIFF12_ID_PCITEM_MISSING = 0x0014; |
| const sal_Int32 BIFF12_ID_PCITEM_STRING = 0x0018; |
| const sal_Int32 BIFF12_ID_PCITEMA_BOOL = 0x001D; |
| const sal_Int32 BIFF12_ID_PCITEMA_DATE = 0x0020; |
| const sal_Int32 BIFF12_ID_PCITEMA_DOUBLE = 0x001C; |
| const sal_Int32 BIFF12_ID_PCITEMA_ERROR = 0x001E; |
| const sal_Int32 BIFF12_ID_PCITEMA_MISSING = 0x001B; |
| const sal_Int32 BIFF12_ID_PCITEMA_STRING = 0x001F; |
| const sal_Int32 BIFF12_ID_PCRECORD = 0x0021; |
| const sal_Int32 BIFF12_ID_PCRECORDDT = 0x0022; |
| const sal_Int32 BIFF12_ID_PCRECORDS = 0x00C1; |
| const sal_Int32 BIFF12_ID_PHONETICPR = 0x0219; |
| const sal_Int32 BIFF12_ID_PICTURE = 0x0232; |
| const sal_Int32 BIFF12_ID_PIVOTAREA = 0x00F7; |
| const sal_Int32 BIFF12_ID_PIVOTCACHE = 0x0182; |
| const sal_Int32 BIFF12_ID_PIVOTCACHES = 0x0180; |
| const sal_Int32 BIFF12_ID_PRINTOPTIONS = 0x01DD; |
| const sal_Int32 BIFF12_ID_PTCOLFIELDS = 0x0137; |
| const sal_Int32 BIFF12_ID_PTDATAFIELD = 0x0125; |
| const sal_Int32 BIFF12_ID_PTDATAFIELDS = 0x0127; |
| const sal_Int32 BIFF12_ID_PTDEFINITION = 0x0118; |
| const sal_Int32 BIFF12_ID_PTFIELD = 0x011D; |
| const sal_Int32 BIFF12_ID_PTFIELDS = 0x011F; |
| const sal_Int32 BIFF12_ID_PTFILTER = 0x0259; |
| const sal_Int32 BIFF12_ID_PTFILTERS = 0x0257; |
| const sal_Int32 BIFF12_ID_PTFITEM = 0x011A; |
| const sal_Int32 BIFF12_ID_PTFITEMS = 0x011B; |
| const sal_Int32 BIFF12_ID_PTLOCATION = 0x013A; |
| const sal_Int32 BIFF12_ID_PTPAGEFIELD = 0x0121; |
| const sal_Int32 BIFF12_ID_PTPAGEFIELDS = 0x0123; |
| const sal_Int32 BIFF12_ID_PTREFERENCE = 0x00FB; |
| const sal_Int32 BIFF12_ID_PTREFERENCEITEM = 0x017E; |
| const sal_Int32 BIFF12_ID_PTREFERENCES = 0x00F9; |
| const sal_Int32 BIFF12_ID_PTROWFIELDS = 0x0135; |
| const sal_Int32 BIFF12_ID_QUERYTABLE = 0x01BF; |
| const sal_Int32 BIFF12_ID_QUERYTABLEREFRESH = 0x01C1; |
| const sal_Int32 BIFF12_ID_RGBCOLOR = 0x01DB; |
| const sal_Int32 BIFF12_ID_ROW = 0x0000; |
| const sal_Int32 BIFF12_ID_ROWBREAKS = 0x0188; |
| const sal_Int32 BIFF12_ID_SCENARIO = 0x01F6; |
| const sal_Int32 BIFF12_ID_SCENARIOS = 0x01F4; |
| const sal_Int32 BIFF12_ID_SELECTION = 0x0098; |
| const sal_Int32 BIFF12_ID_SHAREDFMLA = 0x01AB; |
| const sal_Int32 BIFF12_ID_SHEET = 0x009C; |
| const sal_Int32 BIFF12_ID_SHEETDATA = 0x0091; |
| const sal_Int32 BIFF12_ID_SHEETFORMATPR = 0x01E5; |
| const sal_Int32 BIFF12_ID_SHEETPR = 0x0093; |
| const sal_Int32 BIFF12_ID_SHEETPROTECTION = 0x0217; |
| const sal_Int32 BIFF12_ID_SHEETS = 0x008F; |
| const sal_Int32 BIFF12_ID_SHEETVIEW = 0x0089; |
| const sal_Int32 BIFF12_ID_SHEETVIEWS = 0x0085; |
| const sal_Int32 BIFF12_ID_SI = 0x0013; |
| const sal_Int32 BIFF12_ID_SST = 0x009F; |
| const sal_Int32 BIFF12_ID_STYLESHEET = 0x0116; |
| const sal_Int32 BIFF12_ID_TABLE = 0x0157; |
| const sal_Int32 BIFF12_ID_TABLEPART = 0x0295; |
| const sal_Int32 BIFF12_ID_TABLEPARTS = 0x0294; |
| const sal_Int32 BIFF12_ID_TABLESTYLEINFO = 0x0201; |
| const sal_Int32 BIFF12_ID_TABLESTYLES = 0x01FC; |
| const sal_Int32 BIFF12_ID_TOP10FILTER = 0x00AA; |
| const sal_Int32 BIFF12_ID_VOLTYPE = 0x0204; |
| const sal_Int32 BIFF12_ID_VOLTYPEMAIN = 0x0206; |
| const sal_Int32 BIFF12_ID_VOLTYPES = 0x0202; |
| const sal_Int32 BIFF12_ID_VOLTYPESTP = 0x020A; |
| const sal_Int32 BIFF12_ID_VOLTYPETR = 0x020B; |
| const sal_Int32 BIFF12_ID_WEBPR = 0x0105; |
| const sal_Int32 BIFF12_ID_WEBPRTABLES = 0x0107; |
| const sal_Int32 BIFF12_ID_WORKBOOK = 0x0083; |
| const sal_Int32 BIFF12_ID_WORKBOOKPR = 0x0099; |
| const sal_Int32 BIFF12_ID_WORKBOOKVIEW = 0x009E; |
| const sal_Int32 BIFF12_ID_WORKSHEET = 0x0081; |
| const sal_Int32 BIFF12_ID_XF = 0x002F; |
| |
| // BIFF2-BIFF8 record identifiers ============================================= |
| |
| /** An enumeration for all binary Excel file format types (BIFF types). */ |
| enum BiffType |
| { |
| BIFF2 = 0, /// MS Excel 2.1. |
| BIFF3, /// MS Excel 3.0. |
| BIFF4, /// MS Excel 4.0. |
| BIFF5, /// MS Excel 5.0, MS Excel 7.0 (95). |
| BIFF8, /// MS Excel 8.0 (97), 9.0 (2000), 10.0 (XP), 11.0 (2003). |
| BIFF_UNKNOWN /// Unknown BIFF version. |
| }; |
| |
| const sal_uInt16 BIFF2_MAXRECSIZE = 2080; |
| const sal_uInt16 BIFF8_MAXRECSIZE = 8224; |
| |
| // record identifiers --------------------------------------------------------- |
| |
| const sal_uInt16 BIFF2_ID_ARRAY = 0x0021; |
| const sal_uInt16 BIFF3_ID_ARRAY = 0x0221; |
| const sal_uInt16 BIFF_ID_AUTOFILTER = 0x009D; |
| const sal_uInt16 BIFF2_ID_BLANK = 0x0001; |
| const sal_uInt16 BIFF3_ID_BLANK = 0x0201; |
| const sal_uInt16 BIFF2_ID_BOF = 0x0009; |
| const sal_uInt16 BIFF3_ID_BOF = 0x0209; |
| const sal_uInt16 BIFF4_ID_BOF = 0x0409; |
| const sal_uInt16 BIFF5_ID_BOF = 0x0809; |
| const sal_uInt16 BIFF_ID_BOOKBOOL = 0x00DA; |
| const sal_uInt16 BIFF_ID_BOOKEXT = 0x0863; |
| const sal_uInt16 BIFF2_ID_BOOLERR = 0x0005; |
| const sal_uInt16 BIFF3_ID_BOOLERR = 0x0205; |
| const sal_uInt16 BIFF_ID_BOTTOMMARGIN = 0x0029; |
| const sal_uInt16 BIFF_ID_CALCCOUNT = 0x000C; |
| const sal_uInt16 BIFF_ID_CALCMODE = 0x000D; |
| const sal_uInt16 BIFF_ID_CFHEADER = 0x01B0; |
| const sal_uInt16 BIFF_ID_CFRULE = 0x01B1; |
| const sal_uInt16 BIFF_ID_CFRULE12 = 0x087A; |
| const sal_uInt16 BIFF_ID_CFRULEEXT = 0x087B; |
| const sal_uInt16 BIFF_ID_CH3DDATAFORMAT = 0x105F; |
| const sal_uInt16 BIFF_ID_CHAREA = 0x101A; |
| const sal_uInt16 BIFF_ID_CHAREAFORMAT = 0x100A; |
| const sal_uInt16 BIFF_ID_CHATTACHEDLABEL = 0x100C; |
| const sal_uInt16 BIFF_ID_CHAXESSET = 0x1041; |
| const sal_uInt16 BIFF_ID_CHAXIS = 0x101D; |
| const sal_uInt16 BIFF_ID_CHAXISLINE = 0x1021; |
| const sal_uInt16 BIFF_ID_CHBAR = 0x1017; |
| const sal_uInt16 BIFF_ID_CHBEGIN = 0x1033; |
| const sal_uInt16 BIFF_ID_CHCHART = 0x1002; |
| const sal_uInt16 BIFF_ID_CHCHART3D = 0x103A; |
| const sal_uInt16 BIFF_ID_CHCHARTLINE = 0x101C; |
| const sal_uInt16 BIFF_ID_CHDATAFORMAT = 0x1006; |
| const sal_uInt16 BIFF_ID_CHDATERANGE = 0x1062; |
| const sal_uInt16 BIFF_ID_CHDEFAULTTEXT = 0x1024; |
| const sal_uInt16 BIFF_ID_CHDROPBAR = 0x103D; |
| const sal_uInt16 BIFF_ID_CHECKCOMPAT = 0x088C; |
| const sal_uInt16 BIFF_ID_CHEND = 0x1034; |
| const sal_uInt16 BIFF_ID_CHESCHERFORMAT = 0x1066; |
| const sal_uInt16 BIFF_ID_CHFONT = 0x1026; |
| const sal_uInt16 BIFF_ID_CHFORMAT = 0x104E; |
| const sal_uInt16 BIFF_ID_CHFORMATRUNS = 0x1050; |
| const sal_uInt16 BIFF_ID_CHFRAME = 0x1032; |
| const sal_uInt16 BIFF_ID_CHFRAMEPOS = 0x104F; |
| const sal_uInt16 BIFF_ID_CHFRBLOCKBEGIN = 0x0852; |
| const sal_uInt16 BIFF_ID_CHFRBLOCKEND = 0x0853; |
| const sal_uInt16 BIFF_ID_CHFRCATEGORYPROPS = 0x0856; |
| const sal_uInt16 BIFF_ID_CHFREXTPROPS = 0x089E; |
| const sal_uInt16 BIFF_ID_CHFREXTPROPSCONT = 0x089F; |
| const sal_uInt16 BIFF_ID_CHFRINFO = 0x0850; |
| const sal_uInt16 BIFF_ID_CHFRLABELPROPS = 0x086B; |
| const sal_uInt16 BIFF_ID_CHFRLAYOUT = 0x089D; |
| const sal_uInt16 BIFF_ID_CHFRPLOTAREALAYOUT = 0x08A7; |
| const sal_uInt16 BIFF_ID_CHFRSHAPEPROPS = 0x08A4; |
| const sal_uInt16 BIFF_ID_CHFRTEXTPROPS = 0x08A5; |
| const sal_uInt16 BIFF_ID_CHFRUNITPROPS = 0x0857; |
| const sal_uInt16 BIFF_ID_CHFRWRAPPER = 0x0851; |
| const sal_uInt16 BIFF_ID_CHLABELRANGE = 0x1020; |
| const sal_uInt16 BIFF_ID_CHLEGEND = 0x1015; |
| const sal_uInt16 BIFF_ID_CHLINE = 0x1018; |
| const sal_uInt16 BIFF_ID_CHLINEFORMAT = 0x1007; |
| const sal_uInt16 BIFF_ID_CHMARKERFORMAT = 0x1009; |
| const sal_uInt16 BIFF_ID_CHOBJECTLINK = 0x1027; |
| const sal_uInt16 BIFF_ID_CHPICFORMAT = 0x103C; |
| const sal_uInt16 BIFF_ID_CHPIE = 0x1019; |
| const sal_uInt16 BIFF_ID_CHPIEEXT = 0x1061; |
| const sal_uInt16 BIFF_ID_CHPIEFORMAT = 0x100B; |
| const sal_uInt16 BIFF_ID_CHPIVOTFLAGS = 0x0859; |
| const sal_uInt16 BIFF5_ID_CHPIVOTREF = 0x1048; |
| const sal_uInt16 BIFF8_ID_CHPIVOTREF = 0x0858; |
| const sal_uInt16 BIFF_ID_CHPLOTFRAME = 0x1035; |
| const sal_uInt16 BIFF_ID_CHPLOTGROWTH = 0x1064; |
| const sal_uInt16 BIFF_ID_CHPROPERTIES = 0x1044; |
| const sal_uInt16 BIFF_ID_CHRADARLINE = 0x103E; |
| const sal_uInt16 BIFF_ID_CHRADARAREA = 0x1040; |
| const sal_uInt16 BIFF_ID_CHSCATTER = 0x101B; |
| const sal_uInt16 BIFF_ID_CHSERERRORBAR = 0x105B; |
| const sal_uInt16 BIFF_ID_CHSERGROUP = 0x1045; |
| const sal_uInt16 BIFF_ID_CHSERIES = 0x1003; |
| const sal_uInt16 BIFF_ID_CHSERIESFORMAT = 0x105D; |
| const sal_uInt16 BIFF_ID_CHSERPARENT = 0x104A; |
| const sal_uInt16 BIFF_ID_CHSERTRENDLINE = 0x104B; |
| const sal_uInt16 BIFF_ID_CHSOURCELINK = 0x1051; |
| const sal_uInt16 BIFF_ID_CHSTRING = 0x100D; |
| const sal_uInt16 BIFF_ID_CHSURFACE = 0x103F; |
| const sal_uInt16 BIFF_ID_CHTEXT = 0x1025; |
| const sal_uInt16 BIFF_ID_CHTICK = 0x101E; |
| const sal_uInt16 BIFF_ID_CHTYPEGROUP = 0x1014; |
| const sal_uInt16 BIFF_ID_CHVALUERANGE = 0x101F; |
| const sal_uInt16 BIFF_ID_CODENAME = 0x01BA; |
| const sal_uInt16 BIFF_ID_CODEPAGE = 0x0042; |
| const sal_uInt16 BIFF_ID_COLINFO = 0x007D; |
| const sal_uInt16 BIFF_ID_COLUMNDEFAULT = 0x0020; |
| const sal_uInt16 BIFF_ID_COLWIDTH = 0x0024; |
| const sal_uInt16 BIFF_ID_COMPRESSPICS = 0x089B; |
| const sal_uInt16 BIFF_ID_CONNECTION = 0x0876; |
| const sal_uInt16 BIFF_ID_CONT = 0x003C; |
| const sal_uInt16 BIFF_ID_COORDLIST = 0x00A9; |
| const sal_uInt16 BIFF_ID_COUNTRY = 0x008C; |
| const sal_uInt16 BIFF_ID_CRN = 0x005A; |
| const sal_uInt16 BIFF2_ID_DATATABLE = 0x0036; |
| const sal_uInt16 BIFF3_ID_DATATABLE = 0x0236; |
| const sal_uInt16 BIFF2_ID_DATATABLE2 = 0x0037; |
| const sal_uInt16 BIFF_ID_DATAVALIDATION = 0x01BE; |
| const sal_uInt16 BIFF_ID_DATAVALIDATIONS = 0x01B2; |
| const sal_uInt16 BIFF_ID_DATEMODE = 0x0022; |
| const sal_uInt16 BIFF_ID_DBCELL = 0x00D7; |
| const sal_uInt16 BIFF_ID_DBQUERY = 0x00DC; |
| const sal_uInt16 BIFF_ID_DCONBINAME = 0x01B5; |
| const sal_uInt16 BIFF_ID_DCONNAME = 0x0052; |
| const sal_uInt16 BIFF_ID_DCONREF = 0x0051; |
| const sal_uInt16 BIFF_ID_DEFCOLWIDTH = 0x0055; |
| const sal_uInt16 BIFF2_ID_DEFINEDNAME = 0x0018; |
| const sal_uInt16 BIFF3_ID_DEFINEDNAME = 0x0218; |
| const sal_uInt16 BIFF5_ID_DEFINEDNAME = 0x0018; |
| const sal_uInt16 BIFF2_ID_DEFROWHEIGHT = 0x0025; |
| const sal_uInt16 BIFF3_ID_DEFROWHEIGHT = 0x0225; |
| const sal_uInt16 BIFF_ID_DELTA = 0x0010; |
| const sal_uInt16 BIFF2_ID_DIMENSION = 0x0000; |
| const sal_uInt16 BIFF3_ID_DIMENSION = 0x0200; |
| const sal_uInt16 BIFF_ID_DXF = 0x088D; |
| const sal_uInt16 BIFF_ID_EOF = 0x000A; |
| const sal_uInt16 BIFF_ID_EXTERNALBOOK = 0x01AE; |
| const sal_uInt16 BIFF2_ID_EXTERNALNAME = 0x0023; |
| const sal_uInt16 BIFF3_ID_EXTERNALNAME = 0x0223; |
| const sal_uInt16 BIFF5_ID_EXTERNALNAME = 0x0023; |
| const sal_uInt16 BIFF_ID_EXTERNSHEET = 0x0017; |
| const sal_uInt16 BIFF_ID_EXTSST = 0x00FF; |
| const sal_uInt16 BIFF_ID_FILEPASS = 0x002F; |
| const sal_uInt16 BIFF_ID_FILESHARING = 0x005B; |
| const sal_uInt16 BIFF_ID_FILTERCOLUMN = 0x009E; |
| const sal_uInt16 BIFF_ID_FILTERMODE = 0x009B; |
| const sal_uInt16 BIFF2_ID_FONT = 0x0031; |
| const sal_uInt16 BIFF3_ID_FONT = 0x0231; |
| const sal_uInt16 BIFF5_ID_FONT = 0x0031; |
| const sal_uInt16 BIFF_ID_FONTCOLOR = 0x0045; |
| const sal_uInt16 BIFF_ID_FOOTER = 0x0015; |
| const sal_uInt16 BIFF_ID_FORCEFULLCALC = 0x08A3; |
| const sal_uInt16 BIFF2_ID_FORMAT = 0x001E; |
| const sal_uInt16 BIFF4_ID_FORMAT = 0x041E; |
| const sal_uInt16 BIFF2_ID_FORMULA = 0x0006; |
| const sal_uInt16 BIFF3_ID_FORMULA = 0x0206; |
| const sal_uInt16 BIFF4_ID_FORMULA = 0x0406; |
| const sal_uInt16 BIFF5_ID_FORMULA = 0x0006; |
| const sal_uInt16 BIFF_ID_GUTS = 0x0080; |
| const sal_uInt16 BIFF_ID_HCENTER = 0x0083; |
| const sal_uInt16 BIFF_ID_HEADER = 0x0014; |
| const sal_uInt16 BIFF_ID_HEADERFOOTER = 0x089C; |
| const sal_uInt16 BIFF_ID_HIDEOBJ = 0x008D; |
| const sal_uInt16 BIFF_ID_HORPAGEBREAKS = 0x001B; |
| const sal_uInt16 BIFF_ID_HYPERLINK = 0x01B8; |
| const sal_uInt16 BIFF3_ID_IMGDATA = 0x007F; |
| const sal_uInt16 BIFF8_ID_IMGDATA = 0x00E9; |
| const sal_uInt16 BIFF2_ID_INDEX = 0x000B; |
| const sal_uInt16 BIFF3_ID_INDEX = 0x020B; |
| const sal_uInt16 BIFF2_ID_INTEGER = 0x0002; |
| const sal_uInt16 BIFF_ID_INTERFACEHDR = 0x00E1; |
| const sal_uInt16 BIFF_ID_ITERATION = 0x0011; |
| const sal_uInt16 BIFF_ID_IXFE = 0x0044; |
| const sal_uInt16 BIFF2_ID_LABEL = 0x0004; |
| const sal_uInt16 BIFF3_ID_LABEL = 0x0204; |
| const sal_uInt16 BIFF_ID_LABELRANGES = 0x015F; |
| const sal_uInt16 BIFF_ID_LABELSST = 0x00FD; |
| const sal_uInt16 BIFF_ID_LEFTMARGIN = 0x0026; |
| const sal_uInt16 BIFF_ID_MERGEDCELLS = 0x00E5; |
| const sal_uInt16 BIFF_ID_MSODRAWING = 0x00EC; |
| const sal_uInt16 BIFF_ID_MSODRAWINGGROUP = 0x00EB; |
| const sal_uInt16 BIFF_ID_MSODRAWINGSEL = 0x00ED; |
| const sal_uInt16 BIFF_ID_MTHREADSETTINGS = 0x089A; |
| const sal_uInt16 BIFF_ID_MULTBLANK = 0x00BE; |
| const sal_uInt16 BIFF_ID_MULTRK = 0x00BD; |
| const sal_uInt16 BIFF_ID_NOTE = 0x001C; |
| const sal_uInt16 BIFF_ID_NOTESOUND = 0x0096; |
| const sal_uInt16 BIFF2_ID_NUMBER = 0x0003; |
| const sal_uInt16 BIFF3_ID_NUMBER = 0x0203; |
| const sal_uInt16 BIFF_ID_OBJ = 0x005D; |
| const sal_uInt16 BIFF_ID_OBJECTPROTECT = 0x0063; |
| const sal_uInt16 BIFF_ID_OLESIZE = 0x00DE; |
| const sal_uInt16 BIFF_ID_PAGELAYOUTVIEW = 0x088B; |
| const sal_uInt16 BIFF_ID_PAGESETUP = 0x00A1; |
| const sal_uInt16 BIFF_ID_PALETTE = 0x0092; |
| const sal_uInt16 BIFF_ID_PANE = 0x0041; |
| const sal_uInt16 BIFF_ID_PARAMQUERY = 0x00DC; |
| const sal_uInt16 BIFF_ID_PASSWORD = 0x0013; |
| const sal_uInt16 BIFF_ID_PCDEFINITION = 0x00C6; |
| const sal_uInt16 BIFF_ID_PCDEFINITION2 = 0x0122; |
| const sal_uInt16 BIFF_ID_PCDFDISCRETEPR = 0x00D9; |
| const sal_uInt16 BIFF_ID_PCDFIELD = 0x00C7; |
| const sal_uInt16 BIFF_ID_PCDFIELDINDEX = 0x0103; |
| const sal_uInt16 BIFF_ID_PCDFORMULAFIELD = 0x00F9; |
| const sal_uInt16 BIFF_ID_PCDFRANGEPR = 0x00D8; |
| const sal_uInt16 BIFF_ID_PCDFSQLTYPE = 0x01BB; |
| const sal_uInt16 BIFF_ID_PCDSOURCE = 0x00E3; |
| const sal_uInt16 BIFF_ID_PCITEM_BOOL = 0x00CA; |
| const sal_uInt16 BIFF_ID_PCITEM_DATE = 0x00CE; |
| const sal_uInt16 BIFF_ID_PCITEM_DOUBLE = 0x00C9; |
| const sal_uInt16 BIFF_ID_PCITEM_ERROR = 0x00CB; |
| const sal_uInt16 BIFF_ID_PCITEM_INDEXLIST = 0x00C8; |
| const sal_uInt16 BIFF_ID_PCITEM_INTEGER = 0x00CC; |
| const sal_uInt16 BIFF_ID_PCITEM_MISSING = 0x00CF; |
| const sal_uInt16 BIFF_ID_PCITEM_STRING = 0x00CD; |
| const sal_uInt16 BIFF_ID_PHONETICPR = 0x00EF; |
| const sal_uInt16 BIFF_ID_PICTURE = 0x00E9; |
| const sal_uInt16 BIFF_ID_PIVOTCACHE = 0x00D5; |
| const sal_uInt16 BIFF_ID_PRECISION = 0x000E; |
| const sal_uInt16 BIFF_ID_PRINTGRIDLINES = 0x002B; |
| const sal_uInt16 BIFF_ID_PRINTHEADERS = 0x002A; |
| const sal_uInt16 BIFF_ID_PROJEXTSHEET = 0x00A3; |
| const sal_uInt16 BIFF_ID_PROTECT = 0x0012; |
| const sal_uInt16 BIFF_ID_PTDATAFIELD = 0x00C5; |
| const sal_uInt16 BIFF_ID_PTDEFINITION = 0x00B0; |
| const sal_uInt16 BIFF_ID_PTDEFINITION2 = 0x00F1; |
| const sal_uInt16 BIFF_ID_PTFIELD = 0x00B1; |
| const sal_uInt16 BIFF_ID_PTFIELD2 = 0x0100; |
| const sal_uInt16 BIFF_ID_PTFITEM = 0x00B2; |
| const sal_uInt16 BIFF_ID_PTPAGEFIELDS = 0x00B6; |
| const sal_uInt16 BIFF_ID_PTROWCOLFIELDS = 0x00B4; |
| const sal_uInt16 BIFF_ID_PTROWCOLITEMS = 0x00B5; |
| const sal_uInt16 BIFF_ID_QUERYTABLE = 0x01AD; |
| const sal_uInt16 BIFF_ID_QUERYTABLEREFRESH = 0x0802; |
| const sal_uInt16 BIFF_ID_QUERYTABLESETTINGS = 0x0803; |
| const sal_uInt16 BIFF_ID_QUERYTABLESTRING = 0x0804; |
| const sal_uInt16 BIFF_ID_RECALCID = 0x01C1; |
| const sal_uInt16 BIFF_ID_REFMODE = 0x000F; |
| const sal_uInt16 BIFF_ID_RIGHTMARGIN = 0x0027; |
| const sal_uInt16 BIFF_ID_RK = 0x027E; |
| const sal_uInt16 BIFF2_ID_ROW = 0x0008; |
| const sal_uInt16 BIFF3_ID_ROW = 0x0208; |
| const sal_uInt16 BIFF_ID_RSTRING = 0x00D6; |
| const sal_uInt16 BIFF_ID_SAVERECALC = 0x005F; |
| const sal_uInt16 BIFF_ID_SCENARIO = 0x00AF; |
| const sal_uInt16 BIFF_ID_SCENARIOS = 0x00AE; |
| const sal_uInt16 BIFF_ID_SCL = 0x00A0; |
| const sal_uInt16 BIFF_ID_SCENPROTECT = 0x00DD; |
| const sal_uInt16 BIFF_ID_SCREENTIP = 0x0800; |
| const sal_uInt16 BIFF_ID_SELECTION = 0x001D; |
| const sal_uInt16 BIFF_ID_SHAREDFEATHEAD = 0x0867; |
| const sal_uInt16 BIFF_ID_SHAREDFMLA = 0x04BC; |
| const sal_uInt16 BIFF_ID_SHEET = 0x0085; |
| const sal_uInt16 BIFF_ID_SHEETEXT = 0x0862; |
| const sal_uInt16 BIFF_ID_SHEETHEADER = 0x008F; |
| const sal_uInt16 BIFF_ID_SHEETPR = 0x0081; |
| const sal_uInt16 BIFF_ID_SST = 0x00FC; |
| const sal_uInt16 BIFF_ID_STANDARDWIDTH = 0x0099; |
| const sal_uInt16 BIFF2_ID_STRING = 0x0007; |
| const sal_uInt16 BIFF3_ID_STRING = 0x0207; |
| const sal_uInt16 BIFF_ID_STYLE = 0x0293; |
| const sal_uInt16 BIFF_ID_STYLEEXT = 0x0892; |
| const sal_uInt16 BIFF_ID_TABLESTYLES = 0x088E; |
| const sal_uInt16 BIFF_ID_THEME = 0x0896; |
| const sal_uInt16 BIFF_ID_TOPMARGIN = 0x0028; |
| const sal_uInt16 BIFF_ID_TXO = 0x01B6; |
| const sal_uInt16 BIFF_ID_UNCALCED = 0x005E; |
| const sal_uInt16 BIFF_ID_USESELFS = 0x0160; |
| const sal_uInt16 BIFF_ID_VBAPROJECT = 0x00D3; |
| const sal_uInt16 BIFF_ID_VBAPROJECTEMPTY = 0x01BD; |
| const sal_uInt16 BIFF_ID_VCENTER = 0x0084; |
| const sal_uInt16 BIFF_ID_VERPAGEBREAKS = 0x001A; |
| const sal_uInt16 BIFF_ID_WINDOW1 = 0x003D; |
| const sal_uInt16 BIFF2_ID_WINDOW2 = 0x003E; |
| const sal_uInt16 BIFF3_ID_WINDOW2 = 0x023E; |
| const sal_uInt16 BIFF_ID_WRITEACCESS = 0x005C; |
| const sal_uInt16 BIFF_ID_XCT = 0x0059; |
| const sal_uInt16 BIFF2_ID_XF = 0x0043; |
| const sal_uInt16 BIFF3_ID_XF = 0x0243; |
| const sal_uInt16 BIFF4_ID_XF = 0x0443; |
| const sal_uInt16 BIFF5_ID_XF = 0x00E0; |
| const sal_uInt16 BIFF_ID_XFCRC = 0x087C; |
| const sal_uInt16 BIFF_ID_XFEXT = 0x087D; |
| |
| const sal_uInt16 BIFF_ID_UNKNOWN = SAL_MAX_UINT16; |
| |
| // OBJ subrecord identifiers -------------------------------------------------- |
| |
| const sal_uInt16 BIFF_ID_OBJEND = 0x0000; /// End of OBJ. |
| const sal_uInt16 BIFF_ID_OBJMACRO = 0x0004; /// Macro link. |
| const sal_uInt16 BIFF_ID_OBJBUTTON = 0x0005; /// Button data. |
| const sal_uInt16 BIFF_ID_OBJGMO = 0x0006; /// Group marker. |
| const sal_uInt16 BIFF_ID_OBJCF = 0x0007; /// Clipboard format. |
| const sal_uInt16 BIFF_ID_OBJFLAGS = 0x0008; /// Option flags. |
| const sal_uInt16 BIFF_ID_OBJPICTFMLA = 0x0009; /// OLE link formula. |
| const sal_uInt16 BIFF_ID_OBJCBLS = 0x000A; /// Check box/radio button data. |
| const sal_uInt16 BIFF_ID_OBJRBO = 0x000B; /// Radio button group data. |
| const sal_uInt16 BIFF_ID_OBJSBS = 0x000C; /// Scroll bar data. |
| const sal_uInt16 BIFF_ID_OBJNTS = 0x000C; /// Note data. |
| const sal_uInt16 BIFF_ID_OBJSBSFMLA = 0x000E; /// Scroll bar/list box/combo box cell link. |
| const sal_uInt16 BIFF_ID_OBJGBODATA = 0x000F; /// Group box data. |
| const sal_uInt16 BIFF_ID_OBJEDODATA = 0x0010; /// Edit box data. |
| const sal_uInt16 BIFF_ID_OBJRBODATA = 0x0011; /// Radio button group data. |
| const sal_uInt16 BIFF_ID_OBJCBLSDATA = 0x0012; /// Check box/radio button data. |
| const sal_uInt16 BIFF_ID_OBJLBSDATA = 0x0013; /// List box/combo box data. |
| const sal_uInt16 BIFF_ID_OBJCBLSFMLA = 0x0014; /// Check box/radio button cell link. |
| const sal_uInt16 BIFF_ID_OBJCMO = 0x0015; /// Common object settings. |
| |
| // record constants ----------------------------------------------------------- |
| |
| const sal_uInt16 BIFF_BOF_BIFF2 = 0x0200; |
| const sal_uInt16 BIFF_BOF_BIFF3 = 0x0300; |
| const sal_uInt16 BIFF_BOF_BIFF4 = 0x0400; |
| const sal_uInt16 BIFF_BOF_BIFF5 = 0x0500; |
| const sal_uInt16 BIFF_BOF_BIFF8 = 0x0600; |
| |
| const sal_uInt8 BIFF_ERR_NULL = 0x00; |
| const sal_uInt8 BIFF_ERR_DIV0 = 0x07; |
| const sal_uInt8 BIFF_ERR_VALUE = 0x0F; |
| const sal_uInt8 BIFF_ERR_REF = 0x17; |
| const sal_uInt8 BIFF_ERR_NAME = 0x1D; |
| const sal_uInt8 BIFF_ERR_NUM = 0x24; |
| const sal_uInt8 BIFF_ERR_NA = 0x2A; |
| |
| const sal_uInt8 BIFF_DATATYPE_EMPTY = 0; |
| const sal_uInt8 BIFF_DATATYPE_DOUBLE = 1; |
| const sal_uInt8 BIFF_DATATYPE_STRING = 2; |
| const sal_uInt8 BIFF_DATATYPE_BOOL = 4; |
| const sal_uInt8 BIFF_DATATYPE_ERROR = 16; |
| |
| const sal_uInt8 BIFF_BOOLERR_BOOL = 0; |
| const sal_uInt8 BIFF_BOOLERR_ERROR = 1; |
| |
| // BIFF8 unicode strings ------------------------------------------------------ |
| |
| const sal_uInt8 BIFF_STRF_16BIT = 0x01; |
| const sal_uInt8 BIFF_STRF_PHONETIC = 0x04; |
| const sal_uInt8 BIFF_STRF_RICH = 0x08; |
| const sal_uInt8 BIFF_STRF_UNKNOWN = 0xF2; |
| |
| // ============================================================================ |
| |
| /** Static helper functions for BIFF filters. */ |
| class BiffHelper |
| { |
| public: |
| // conversion ------------------------------------------------------------- |
| |
| /** Converts the passed packed number to a double. */ |
| static double calcDoubleFromRk( sal_Int32 nRkValue ); |
| /** Converts the passed double to a packed number, returns true on success. */ |
| static bool calcRkFromDouble( sal_Int32& ornRkValue, double fValue ); |
| |
| /** Converts the passed BIFF error to a double containing the respective Calc error code. */ |
| static double calcDoubleFromError( sal_uInt8 nErrorCode ); |
| |
| /** Returns a text encoding from an Windows code page. |
| @return The corresponding text encoding or RTL_TEXTENCODING_DONTKNOW. */ |
| static rtl_TextEncoding calcTextEncodingFromCodePage( sal_uInt16 nCodePage ); |
| /** Returns a Windows code page from a text encoding. */ |
| static sal_uInt16 calcCodePageFromTextEncoding( rtl_TextEncoding eTextEnc ); |
| |
| // BIFF12 import ---------------------------------------------------------- |
| |
| /** Reads a BIFF12 string with leading 16-bit or 32-bit length field. */ |
| static ::rtl::OUString readString( SequenceInputStream& rStrm, bool b32BitLen = true, bool bAllowNulChars = false ); |
| |
| // BIFF2-BIFF8 import ----------------------------------------------------- |
| |
| /** Returns true, if the current record of the stream is a BOF record. */ |
| static bool isBofRecord( BiffInputStream& rStrm ); |
| |
| /** Skips a block of records up to the specified end record. |
| |
| Skips all records until next end record. When this function returns, |
| the stream points to the end record, and the next call of the function |
| startNextRecord() at the stream will start the record following the end |
| record. |
| |
| The identifier of the record that is active while this function is |
| called is used as start record identifier. This identifier is used to |
| correctly skip embedded record blocks with the same start and end |
| record identifier. |
| |
| @return True = stream points to the end record. |
| */ |
| static bool skipRecordBlock( BiffInputStream& rStrm, sal_uInt16 nEndRecId ); |
| |
| /** Imports a picture from an IMGDATA record. */ |
| static void importImgData( StreamDataSequence& orDataSeq, BiffInputStream& rStrm, BiffType eBiff ); |
| |
| private: |
| BiffHelper(); // not implemented |
| ~BiffHelper(); // not implemented |
| }; |
| |
| // ---------------------------------------------------------------------------- |
| |
| /** BIFF12 stream operator for an ::rtl::OUString, reads 32-bit string length and Unicode array. */ |
| inline SequenceInputStream& operator>>( SequenceInputStream& rStrm, ::rtl::OUString& orString ) |
| { |
| orString = BiffHelper::readString( rStrm ); |
| return rStrm; |
| } |
| |
| // ============================================================================ |
| |
| } // namespace xls |
| } // namespace oox |
| |
| #endif |