[Libreoffice-commits] core.git: 3 commits - include/oox oox/source sc/source

Noel Grandin noel at peralex.com
Thu Dec 18 22:54:07 PST 2014


 include/oox/helper/binaryinputstream.hxx     |   26 +--
 include/oox/helper/binaryoutputstream.hxx    |    8 
 include/oox/ole/axbinaryreader.hxx           |    7 
 include/oox/ole/axbinarywriter.hxx           |    4 
 oox/source/crypto/AgileEngine.cxx            |    3 
 oox/source/crypto/DocumentDecryption.cxx     |    3 
 oox/source/crypto/Standard2007Engine.cxx     |    9 -
 oox/source/ole/axbinaryreader.cxx            |    3 
 oox/source/ole/axbinarywriter.cxx            |   16 -
 oox/source/ole/olehelper.cxx                 |    2 
 oox/source/ole/vbamodule.cxx                 |    2 
 oox/source/ole/vbaproject.cxx                |    2 
 sc/source/filter/excel/excform.cxx           |  182 +++++++++++++---------
 sc/source/filter/excel/excform8.cxx          |  140 +++++++++++-----
 sc/source/filter/excel/excimp8.cxx           |   24 +-
 sc/source/filter/excel/exctools.cxx          |   10 -
 sc/source/filter/excel/impop.cxx             |  123 +++++++++-----
 sc/source/filter/excel/xichart.cxx           |  218 +++++++++++++++-----------
 sc/source/filter/excel/xicontent.cxx         |   59 ++++---
 sc/source/filter/excel/xiescher.cxx          |  223 ++++++++++++++++++---------
 sc/source/filter/excel/xihelper.cxx          |    6 
 sc/source/filter/excel/xilink.cxx            |   23 +-
 sc/source/filter/excel/xiname.cxx            |   17 +-
 sc/source/filter/excel/xipage.cxx            |   27 ++-
 sc/source/filter/excel/xipivot.cxx           |   17 +-
 sc/source/filter/excel/xistream.cxx          |  129 +++------------
 sc/source/filter/excel/xistring.cxx          |   11 -
 sc/source/filter/excel/xistyle.cxx           |   77 ++++++---
 sc/source/filter/excel/xiview.cxx            |   40 ++--
 sc/source/filter/excel/xladdress.cxx         |    9 -
 sc/source/filter/excel/xlescher.cxx          |   50 +++---
 sc/source/filter/excel/xlformula.cxx         |    2 
 sc/source/filter/excel/xlpivot.cxx           |  135 ++++++++--------
 sc/source/filter/excel/xltools.cxx           |    5 
 sc/source/filter/inc/XclImpChangeTrack.hxx   |    7 
 sc/source/filter/inc/xistream.hxx            |   15 -
 sc/source/filter/inc/xlescher.hxx            |   19 +-
 sc/source/filter/oox/addressconverter.cxx    |    8 
 sc/source/filter/oox/autofilterbuffer.cxx    |   12 -
 sc/source/filter/oox/commentsbuffer.cxx      |    3 
 sc/source/filter/oox/condformatbuffer.cxx    |   12 +
 sc/source/filter/oox/connectionsbuffer.cxx   |   12 +
 sc/source/filter/oox/defnamesbuffer.cxx      |    5 
 sc/source/filter/oox/externallinkbuffer.cxx  |   12 -
 sc/source/filter/oox/formulabase.cxx         |    8 
 sc/source/filter/oox/formulaparser.cxx       |   26 +--
 sc/source/filter/oox/pagesettings.cxx        |   39 +++-
 sc/source/filter/oox/pivotcachebuffer.cxx    |   32 ++-
 sc/source/filter/oox/pivottablebuffer.cxx    |   59 +++++--
 sc/source/filter/oox/querytablebuffer.cxx    |    5 
 sc/source/filter/oox/richstring.cxx          |    7 
 sc/source/filter/oox/sheetdatacontext.cxx    |   18 +-
 sc/source/filter/oox/stylesbuffer.cxx        |   42 +++--
 sc/source/filter/oox/tablebuffer.cxx         |    6 
 sc/source/filter/oox/viewsettings.cxx        |   28 ++-
 sc/source/filter/oox/workbooksettings.cxx    |   14 +
 sc/source/filter/oox/worksheetbuffer.cxx     |    4 
 sc/source/filter/oox/worksheetfragment.cxx   |   25 ++-
 sc/source/filter/oox/worksheetsettings.cxx   |    8 
 sc/source/filter/xcl97/XclImpChangeTrack.cxx |   17 +-
 60 files changed, 1260 insertions(+), 795 deletions(-)

New commits:
commit 9315ccc397647bcb4fc15fe9e0cbe888819e5005
Author: Noel Grandin <noel at peralex.com>
Date:   Thu Dec 18 13:25:27 2014 +0200

    remove operator>> methods
    
    in favour of ReadXXX methods
    
    Change-Id: I50a97c1855366dc14c6864da2fb91d1759d4d4db

diff --git a/sc/source/filter/excel/excform.cxx b/sc/source/filter/excel/excform.cxx
index 630997a..79c3373 100644
--- a/sc/source/filter/excel/excform.cxx
+++ b/sc/source/filter/excel/excform.cxx
@@ -54,22 +54,21 @@ void ImportExcel::Formula25()
 
     if( GetBiff() == EXC_BIFF2 )
     {//                     BIFF2
-        sal_uInt8 nDummy;
-
         aIn.Ignore( 3 );
 
-        aIn >> fCurVal;
+        fCurVal = aIn.ReadDouble();
         aIn.Ignore( 1 );
-        aIn >> nDummy;
-        nFormLen = nDummy;
+        nFormLen = aIn.ReaduInt8();
         bShrFmla = false;
     }
     else
     {//                     BIFF5
-        aIn >> nXF >> fCurVal >> nFlag0;
+        nXF = aIn.ReaduInt16();
+        fCurVal = aIn.ReadDouble();
+        nFlag0 = aIn.ReaduInt8();
         aIn.Ignore( 5 );
 
-        aIn >> nFormLen;
+        nFormLen = aIn.ReaduInt16();
 
         bShrFmla = nFlag0 & 0x08;   // shared or not shared
     }
@@ -89,9 +88,12 @@ void ImportExcel::Formula4()
     double  fCurVal;
     sal_uInt8   nFlag0;
 
-    aIn >> aXclPos >> nXF >> fCurVal >> nFlag0;
+    aIn >> aXclPos;
+    nXF = aIn.ReaduInt16();
+    fCurVal = aIn.ReadDouble();
+    nFlag0 = aIn.ReaduInt8();
     aIn.Ignore( 1 );
-    aIn >> nFormLen;
+    nFormLen = aIn.ReaduInt16();
 
     Formula( aXclPos, nXF, nFormLen, fCurVal, false );
 }
@@ -241,7 +243,7 @@ ConvErr ExcelToSc::Convert( const ScTokenArray*& pErgebnis, XclImpStream& aIn, s
 
     while( (aIn.GetRecPos() < nEndPos) && !bError )
     {
-        aIn >> nOp;
+        nOp = aIn.ReaduInt8();
 
         // always reset flags
         aSRD.InitFlags();
@@ -370,7 +372,7 @@ ConvErr ExcelToSc::Convert( const ScTokenArray*& pErgebnis, XclImpStream& aIn, s
                 GetTracer().TraceFormulaMissingArg();
                 break;
             case 0x17: // String Constant                       [314 266]
-                aIn >> nLen;
+                nLen = aIn.ReaduInt8();
                 aString = aIn.ReadRawByteString( nLen );
 
                 aStack << aPool.Store( aString );
@@ -380,7 +382,7 @@ ConvErr ExcelToSc::Convert( const ScTokenArray*& pErgebnis, XclImpStream& aIn, s
                 sal_uInt16  nData(0), nFakt(0);
                 sal_uInt8   nOpt(0);
 
-                aIn >> nOpt;
+                nOpt = aIn.ReaduInt8();
 
                 if( meBiff == EXC_BIFF2 )
                 {
@@ -389,7 +391,7 @@ ConvErr ExcelToSc::Convert( const ScTokenArray*& pErgebnis, XclImpStream& aIn, s
                 }
                 else
                 {
-                    aIn >> nData;
+                    nData = aIn.ReaduInt16();
                     nFakt = 2;
                 }
 
@@ -431,7 +433,7 @@ ConvErr ExcelToSc::Convert( const ScTokenArray*& pErgebnis, XclImpStream& aIn, s
                 break;
             case 0x1C: // Error Value                           [314 266]
             {
-                aIn >> nByte;
+                nByte = aIn.ReaduInt8();
                 DefTokenId          eOc;
                 switch( nByte )
                 {
@@ -451,7 +453,7 @@ ConvErr ExcelToSc::Convert( const ScTokenArray*& pErgebnis, XclImpStream& aIn, s
             }
                 break;
             case 0x1D: // Boolean                               [315 266]
-                aIn >> nByte;
+                nByte = aIn.ReaduInt8();
                 if( nByte == 0 )
                     aPool << ocFalse << ocOpen << ocClose;
                 else
@@ -459,17 +461,18 @@ ConvErr ExcelToSc::Convert( const ScTokenArray*& pErgebnis, XclImpStream& aIn, s
                 aPool >> aStack;
                 break;
             case 0x1E: // Integer                               [315 266]
-                aIn >> nUINT16;
+                nUINT16 = aIn.ReaduInt16();
                 aStack << aPool.Store( ( double ) nUINT16 );
                 break;
             case 0x1F: // Number                                [315 266]
-                aIn >> fDouble;
+                fDouble = aIn.ReadDouble();
                 aStack << aPool.Store( fDouble );
                 break;
             case 0x40:
             case 0x60:
             case 0x20: // Array Constant                        [317 268]
-                aIn >> nByte >> nUINT16;
+                nByte = aIn.ReaduInt8();
+                nUINT16 = aIn.ReaduInt16();
                 aIn.Ignore( (meBiff == EXC_BIFF2) ? 3 : 4 );
                 if( bAllowArrays )
                 {
@@ -490,7 +493,7 @@ ConvErr ExcelToSc::Convert( const ScTokenArray*& pErgebnis, XclImpStream& aIn, s
                 if( meBiff <= EXC_BIFF3 )
                     nXclFunc = aIn.ReaduInt8();
                 else
-                    aIn >> nXclFunc;
+                    nXclFunc = aIn.ReaduInt16();
                 if( const XclFunctionInfo* pFuncInfo = maFuncProv.GetFuncInfoFromXclFunc( nXclFunc ) )
                     DoMulArgs( pFuncInfo->meOpCode, pFuncInfo->mnMaxParamCount );
                 else
@@ -503,12 +506,12 @@ ConvErr ExcelToSc::Convert( const ScTokenArray*& pErgebnis, XclImpStream& aIn, s
             {
                 sal_uInt16 nXclFunc;
                 sal_uInt8 nParamCount;
-                aIn >> nParamCount;
+                nParamCount = aIn.ReaduInt8();
                 nParamCount &= 0x7F;
                 if( meBiff <= EXC_BIFF3 )
                     nXclFunc = aIn.ReaduInt8();
                 else
-                    aIn >> nXclFunc;
+                    nXclFunc = aIn.ReaduInt16();
                 if( const XclFunctionInfo* pFuncInfo = maFuncProv.GetFuncInfoFromXclFunc( nXclFunc ) )
                     DoMulArgs( pFuncInfo->meOpCode, nParamCount );
                 else
@@ -519,7 +522,7 @@ ConvErr ExcelToSc::Convert( const ScTokenArray*& pErgebnis, XclImpStream& aIn, s
             case 0x63:
             case 0x23: // Name                                  [318 269]
             {
-                aIn >> nUINT16;
+                nUINT16 = aIn.ReaduInt16();
                 switch( meBiff )
                 {
                     case EXC_BIFF2: aIn.Ignore( 5 );    break;
@@ -543,7 +546,8 @@ ConvErr ExcelToSc::Convert( const ScTokenArray*& pErgebnis, XclImpStream& aIn, s
             case 0x4A:
             case 0x6A:
             case 0x2A: // Deleted Cell Reference                [323 273]
-                aIn >> nUINT16 >> nByte;
+                nUINT16 = aIn.ReaduInt16();
+                nByte = aIn.ReaduInt8();
                 aSRD.SetAbsCol(static_cast<SCsCOL>(nByte));
                 aSRD.SetAbsRow(nUINT16 & 0x3FFF);
                 aSRD.SetRelTab(0);
@@ -575,7 +579,10 @@ ConvErr ExcelToSc::Convert( const ScTokenArray*& pErgebnis, XclImpStream& aIn, s
                 ScSingleRefData&    rSRef1 = aCRD.Ref1;
                 ScSingleRefData&    rSRef2 = aCRD.Ref2;
 
-                aIn >> nRowFirst >> nRowLast >> nColFirst >> nColLast;
+                nRowFirst = aIn.ReaduInt16();
+                nRowLast = aIn.ReaduInt16();
+                nColFirst = aIn.ReaduInt8();
+                nColLast = aIn.ReaduInt8();
 
                 rSRef1.SetRelTab(0);
                 rSRef2.SetRelTab(0);
@@ -624,7 +631,8 @@ ConvErr ExcelToSc::Convert( const ScTokenArray*& pErgebnis, XclImpStream& aIn, s
             case 0x2C: // Cell Reference Within a Name          [323    ]
                        // Cell Reference Within a Shared Formula[    273]
             {
-                aIn >> nUINT16 >> nByte;    // >> Attribute, Row >> Col
+                nUINT16 = aIn.ReaduInt16();
+                nByte = aIn.ReaduInt8();    // >> Attribute, Row >> Col
 
                 aSRD.SetRelTab(0);
                 aSRD.SetFlag3D( bRangeName );
@@ -646,7 +654,10 @@ ConvErr ExcelToSc::Convert( const ScTokenArray*& pErgebnis, XclImpStream& aIn, s
                 aCRD.Ref1.SetFlag3D( bRangeName );
                 aCRD.Ref2.SetFlag3D( bRangeName );
 
-                aIn >> nRowFirst >> nRowLast >> nColFirst >> nColLast;
+                nRowFirst = aIn.ReaduInt16();
+                nRowLast = aIn.ReaduInt16();
+                nColFirst = aIn.ReaduInt8();
+                nColLast = aIn.ReaduInt8(  );
 
                 ExcRelToScRel( nRowFirst, nColFirst, aCRD.Ref1, bRNorSF );
                 ExcRelToScRel( nRowLast, nColLast, aCRD.Ref2, bRNorSF );
@@ -674,18 +685,18 @@ ConvErr ExcelToSc::Convert( const ScTokenArray*& pErgebnis, XclImpStream& aIn, s
             case 0x78:
             case 0x38: // Command-Equivalent Function           [333    ]
                 aString = "COMM_EQU_FUNC";
-                aIn >> nByte;
+                nByte = aIn.ReaduInt8();
                 aString += OUString::number( nByte );
-                aIn >> nByte;
+                nByte = aIn.ReaduInt8();
                 aStack << aPool.Store( aString );
                 DoMulArgs( ocPush, nByte + 1 );
                 break;
             case 0x59:
             case 0x79:
             case 0x39: // Name or External Name                 [    275]
-                aIn >> nINT16;
+                nINT16 = aIn.ReadInt16();
                 aIn.Ignore( 8 );
-                aIn >> nUINT16;
+                nUINT16 = aIn.ReaduInt16();
                 if( nINT16 >= 0 )
                 {
                     const ExtName* pExtName = rR.pExtNameBuff->GetNameByIndex( nINT16, nUINT16 );
@@ -724,9 +735,12 @@ ConvErr ExcelToSc::Convert( const ScTokenArray*& pErgebnis, XclImpStream& aIn, s
                 sal_Int16           nExtSheet;
                 sal_uInt8           nCol;
 
-                aIn >> nExtSheet;
+                nExtSheet = aIn.ReadInt16();
                 aIn.Ignore( 8 );
-                aIn >> nTabFirst >> nTabLast >> nRow >> nCol;
+                nTabFirst = aIn.ReaduInt16();
+                nTabLast = aIn.ReaduInt16();
+                nRow = aIn.ReaduInt16();
+                nCol = aIn.ReaduInt8();
 
                 if( nExtSheet >= 0 )
                 {   // from external
@@ -786,10 +800,14 @@ ConvErr ExcelToSc::Convert( const ScTokenArray*& pErgebnis, XclImpStream& aIn, s
                 sal_Int16       nExtSheet;
                 sal_uInt8       nColFirst, nColLast;
 
-                aIn >> nExtSheet;
+                nExtSheet = aIn.ReadInt16();
                 aIn.Ignore( 8 );
-                aIn >> nTabFirst >> nTabLast >> nRowFirst >> nRowLast
-                    >> nColFirst >> nColLast;
+                nTabFirst = aIn.ReaduInt16();
+                nTabLast = aIn.ReaduInt16();
+                nRowFirst = aIn.ReaduInt16();
+                nRowLast = aIn.ReaduInt16();
+                nColFirst = aIn.ReaduInt8();
+                nColLast = aIn.ReaduInt8();
 
                 if( nExtSheet >= 0 )
                     // von extern
@@ -925,7 +943,7 @@ ConvErr ExcelToSc::Convert( _ScRangeListTabs& rRangeList, XclImpStream& aIn, sal
 
     while( (aIn.GetRecPos() < nEndPos) && !bError )
     {
-        aIn >> nOp;
+        nOp = aIn.ReaduInt8();
         nIgnore = 0;
 
         // always reset flags
@@ -963,7 +981,7 @@ ConvErr ExcelToSc::Convert( _ScRangeListTabs& rRangeList, XclImpStream& aIn, sal
             case 0x16: // Missing Argument                      [314 266]
                 break;
             case 0x17: // String Constant                       [314 266]
-                aIn >> nLen;
+                nLen = aIn.ReaduInt8();
                 nIgnore = nLen;
                 break;
             case 0x19: // Special Attribute                     [327 279]
@@ -971,7 +989,7 @@ ConvErr ExcelToSc::Convert( _ScRangeListTabs& rRangeList, XclImpStream& aIn, sal
                 sal_uInt16 nData(0), nFakt(0);
                 sal_uInt8 nOpt(0);
 
-                aIn >> nOpt;
+                nOpt = aIn.ReaduInt8();
 
                 if( meBiff == EXC_BIFF2 )
                 {
@@ -980,7 +998,7 @@ ConvErr ExcelToSc::Convert( _ScRangeListTabs& rRangeList, XclImpStream& aIn, sal
                 }
                 else
                 {
-                    aIn >> nData;
+                    nData = aIn.ReaduInt16();
                     nFakt = 2;
                 }
 
@@ -1054,7 +1072,8 @@ ConvErr ExcelToSc::Convert( _ScRangeListTabs& rRangeList, XclImpStream& aIn, sal
             case 0x44:
             case 0x64:
             case 0x24: // Cell Reference                        [319 270]
-                aIn >> nUINT16 >> nByte;
+                nUINT16 = aIn.ReaduInt16();
+                nByte = aIn.ReaduInt8();
                 aSRD.SetAbsCol(static_cast<SCsCOL>(nByte));
                 aSRD.SetAbsRow(nUINT16 & 0x3FFF);
                 aSRD.SetRelTab(0);
@@ -1073,7 +1092,10 @@ ConvErr ExcelToSc::Convert( _ScRangeListTabs& rRangeList, XclImpStream& aIn, sal
                 ScSingleRefData &rSRef1 = aCRD.Ref1;
                 ScSingleRefData &rSRef2 = aCRD.Ref2;
 
-                aIn >> nRowFirst >> nRowLast >> nColFirst >> nColLast;
+                nRowFirst = aIn.ReaduInt16();
+                nRowLast = aIn.ReaduInt16();
+                nColFirst = aIn.ReaduInt8();
+                nColLast = aIn.ReaduInt8();
 
                 rSRef1.SetRelTab(0);
                 rSRef2.SetRelTab(0);
@@ -1117,7 +1139,8 @@ ConvErr ExcelToSc::Convert( _ScRangeListTabs& rRangeList, XclImpStream& aIn, sal
             case 0x2C: // Cell Reference Within a Name          [323    ]
                        // Cell Reference Within a Shared Formula[    273]
             {
-                aIn >> nUINT16 >> nByte;    // >> Attribute, Row >> Col
+                nUINT16 = aIn.ReaduInt16();
+                nByte = aIn.ReaduInt8();    // >> Attribute, Row >> Col
 
                 aSRD.SetRelTab(0);
                 aSRD.SetFlag3D( bRangeName );
@@ -1139,7 +1162,10 @@ ConvErr ExcelToSc::Convert( _ScRangeListTabs& rRangeList, XclImpStream& aIn, sal
                 aCRD.Ref1.SetFlag3D( bRangeName );
                 aCRD.Ref2.SetFlag3D( bRangeName );
 
-                aIn >> nRowFirst >> nRowLast >> nColFirst >> nColLast;
+                nRowFirst = aIn.ReaduInt16();
+                nRowLast = aIn.ReaduInt16();
+                nColFirst = aIn.ReaduInt8();
+                nColLast = aIn.ReaduInt8();
 
                 ExcRelToScRel( nRowFirst, nColFirst, aCRD.Ref1, bRNorSF );
                 ExcRelToScRel( nRowLast, nColLast, aCRD.Ref2, bRNorSF );
@@ -1181,9 +1207,12 @@ ConvErr ExcelToSc::Convert( _ScRangeListTabs& rRangeList, XclImpStream& aIn, sal
                 sal_Int16           nExtSheet;
                 sal_uInt8           nCol;
 
-                aIn >> nExtSheet;
+                nExtSheet = aIn.ReadInt16();
                 aIn.Ignore( 8 );
-                aIn >> nTabFirst >> nTabLast >> nRow >> nCol;
+                nTabFirst = aIn.ReaduInt16();
+                nTabLast = aIn.ReaduInt16();
+                nRow = aIn.ReaduInt16();
+                nCol = aIn.ReaduInt8();
 
                 if( nExtSheet >= 0 )
                     // from external
@@ -1232,10 +1261,14 @@ ConvErr ExcelToSc::Convert( _ScRangeListTabs& rRangeList, XclImpStream& aIn, sal
                 sal_Int16       nExtSheet;
                 sal_uInt8       nColFirst, nColLast;
 
-                aIn >> nExtSheet;
+                nExtSheet = aIn.ReadInt16();
                 aIn.Ignore( 8 );
-                aIn >> nTabFirst >> nTabLast >> nRowFirst >> nRowLast
-                    >> nColFirst >> nColLast;
+                nTabFirst = aIn.ReaduInt16();
+                nTabLast = aIn.ReaduInt16();
+                nRowFirst = aIn.ReaduInt16();
+                nRowLast = aIn.ReaduInt16();
+                nColFirst = aIn.ReaduInt8();
+                nColLast = aIn.ReaduInt8();
 
                 if( nExtSheet >= 0 )
                     // from external
@@ -1333,7 +1366,7 @@ bool ExcelToSc::GetAbsRefs( ScRangeList& rRangeList, XclImpStream& rStrm, sal_Si
 
     while( rStrm.IsValid() && (rStrm.GetRecPos() < nEndPos) )
     {
-        rStrm >> nOp;
+        nOp = rStrm.ReaduInt8();
         nSeek = 0;
 
         switch( nOp )
@@ -1345,7 +1378,8 @@ bool ExcelToSc::GetAbsRefs( ScRangeList& rRangeList, XclImpStream& rStrm, sal_Si
             case 0x6C:
             case 0x2C: // Cell Reference Within a Name          [323    ]
                        // Cell Reference Within a Shared Formula[    273]
-                rStrm >> nRow1 >> nCol1;
+                nRow1 = rStrm.ReaduInt16();
+                nCol1 = rStrm.ReaduInt8();
 
                 nRow2 = nRow1;
                 nCol2 = nCol1;
@@ -1358,16 +1392,22 @@ bool ExcelToSc::GetAbsRefs( ScRangeList& rRangeList, XclImpStream& rStrm, sal_Si
             case 0x6D:
             case 0x2D: // Area Reference Within a Name          [324    ]
                        // Area Reference Within a Shared Formula[    274]
-                rStrm >> nRow1 >> nRow2 >> nCol1 >> nCol2;
+                nRow1 = rStrm.ReaduInt16();
+                nRow2 = rStrm.ReaduInt16();
+                nCol1 = rStrm.ReaduInt8();
+                nCol2 = rStrm.ReaduInt8();
 
                 nTab1 = nTab2 = GetCurrScTab();
                 goto _common;
             case 0x5A:
             case 0x7A:
             case 0x3A: // 3-D Cell Reference                    [    275]
-                rStrm >> nRefIdx;
+                nRefIdx = rStrm.ReadInt16();
                 rStrm.Ignore( 8 );
-                rStrm >> nTabFirst >> nTabLast >> nRow1 >> nCol1;
+                nTabFirst = rStrm.ReaduInt16();
+                nTabLast = rStrm.ReaduInt16();
+                nRow1 = rStrm.ReaduInt16();
+                nCol1 = rStrm.ReaduInt8();
 
                 nRow2 = nRow1;
                 nCol2 = nCol1;
@@ -1376,9 +1416,14 @@ bool ExcelToSc::GetAbsRefs( ScRangeList& rRangeList, XclImpStream& rStrm, sal_Si
             case 0x5B:
             case 0x7B:
             case 0x3B: // 3-D Area Reference                    [    276]
-                rStrm >> nRefIdx;
+                nRefIdx = rStrm.ReadInt16();
                 rStrm.Ignore( 8 );
-                rStrm >> nTabFirst >> nTabLast >> nRow1 >> nRow2 >> nCol1 >> nCol2;
+                nTabFirst = rStrm.ReaduInt16();
+                nTabLast = rStrm.ReaduInt16();
+                nRow1 = rStrm.ReaduInt16();
+                nRow2 = rStrm.ReaduInt16();
+                nCol1 = rStrm.ReaduInt8();
+                nCol2 = rStrm.ReaduInt8();
 
     _3d_common:
                 nTab1 = static_cast< SCTAB >( nTabFirst );
@@ -1505,7 +1550,8 @@ bool ExcelToSc::GetAbsRefs( ScRangeList& rRangeList, XclImpStream& rStrm, sal_Si
             {
                 sal_uInt8 nOpt;
                 sal_uInt16 nData;
-                rStrm >> nOpt >> nData;
+                nOpt = rStrm.ReaduInt8();
+                nData = rStrm.ReaduInt16();
                 if( nOpt & 0x04 )
                     nSeek = nData * 2 + 2;
             }
@@ -1696,7 +1742,7 @@ bool ExcelToSc::ReadSharedFormulaPosition( XclImpStream& rStrm, SCCOL& rCol, SCR
     rStrm.PushPosition();
 
     sal_uInt8 nOp;
-    rStrm >> nOp;
+    nOp = rStrm.ReaduInt8();
 
     if (nOp != 0x01)   // must be PtgExp token.
     {
@@ -1705,7 +1751,8 @@ bool ExcelToSc::ReadSharedFormulaPosition( XclImpStream& rStrm, SCCOL& rCol, SCR
     }
 
     sal_uInt16 nRow, nCol;
-    rStrm >> nRow >> nCol;
+    nRow = rStrm.ReaduInt16();
+    nCol = rStrm.ReaduInt16();
     rStrm.PopPosition();
     rCol = nCol;
     rRow = nRow;
@@ -1759,7 +1806,8 @@ void ExcelToSc::ReadExtensionArray( unsigned int n, XclImpStream& aIn )
     OUString    aString;
     ScMatrix*   pMatrix;
 
-    aIn >> nByte >> nUINT16;
+    nByte = aIn.ReaduInt8();
+    nUINT16 = aIn.ReaduInt16();
 
     SCSIZE nC, nCols;
     SCSIZE nR, nRows;
@@ -1806,7 +1854,7 @@ void ExcelToSc::ReadExtensionArray( unsigned int n, XclImpStream& aIn )
     {
         for( nC = 0 ; nC < nCols; nC++ )
         {
-            aIn >> nByte;
+            nByte = aIn.ReaduInt8();
             switch( nByte )
             {
                 case EXC_CACHEDVAL_EMPTY:
@@ -1818,7 +1866,7 @@ void ExcelToSc::ReadExtensionArray( unsigned int n, XclImpStream& aIn )
                     break;
 
                 case EXC_CACHEDVAL_DOUBLE:
-                    aIn >> fDouble;
+                    fDouble = aIn.ReadDouble();
                     if( NULL != pMatrix )
                     {
                         pMatrix->PutDouble( fDouble, nC, nR );
@@ -1828,12 +1876,12 @@ void ExcelToSc::ReadExtensionArray( unsigned int n, XclImpStream& aIn )
                 case EXC_CACHEDVAL_STRING:
                     if( GetBiff() == EXC_BIFF8 )
                     {
-                        aIn >> nUINT16;
+                        nUINT16 = aIn.ReaduInt16();
                         aString = aIn.ReadUniString( nUINT16 );
                     }
                     else
                     {
-                        aIn >> nByte;
+                        nByte = aIn.ReaduInt8();
                         aString = aIn.ReadRawByteString( nByte );
                     }
                     if( NULL != pMatrix )
@@ -1843,7 +1891,7 @@ void ExcelToSc::ReadExtensionArray( unsigned int n, XclImpStream& aIn )
                     break;
 
                 case EXC_CACHEDVAL_BOOL:
-                    aIn >> nByte;
+                    nByte = aIn.ReaduInt8();
                     aIn.Ignore( 7 );
                     if( NULL != pMatrix )
                     {
@@ -1852,7 +1900,7 @@ void ExcelToSc::ReadExtensionArray( unsigned int n, XclImpStream& aIn )
                     break;
 
                 case EXC_CACHEDVAL_ERROR:
-                    aIn >> nByte;
+                    nByte = aIn.ReaduInt8();
                     aIn.Ignore( 7 );
                     if( NULL != pMatrix )
                     {
@@ -1867,7 +1915,7 @@ void ExcelToSc::ReadExtensionArray( unsigned int n, XclImpStream& aIn )
 void ExcelToSc::ReadExtensionNlr( XclImpStream& aIn )
 {
     sal_uInt32 nFlags;
-    aIn >> nFlags;
+    nFlags = aIn.ReaduInt32();
 
     sal_uInt32 nCount = nFlags & EXC_TOK_NLR_ADDMASK;
     aIn.Ignore( nCount * 4 ); // Drop the cell positions
@@ -1876,7 +1924,7 @@ void ExcelToSc::ReadExtensionNlr( XclImpStream& aIn )
 void ExcelToSc::ReadExtensionMemArea( XclImpStream& aIn )
 {
     sal_uInt16 nCount(0);
-    aIn >> nCount;
+    nCount = aIn.ReaduInt16();
 
     aIn.Ignore( static_cast<sal_Size>(nCount) * ((GetBiff() == EXC_BIFF8) ? 8 : 6) ); // drop the ranges
 }
diff --git a/sc/source/filter/excel/excform8.cxx b/sc/source/filter/excel/excform8.cxx
index a4f3bf6..e9d4e2c 100644
--- a/sc/source/filter/excel/excform8.cxx
+++ b/sc/source/filter/excel/excform8.cxx
@@ -171,7 +171,7 @@ ConvErr ExcelToSc8::Convert( const ScTokenArray*& rpTokArray, XclImpStream& aIn,
 
     while( (aIn.GetRecPos() < nEndPos) && !bError )
     {
-        aIn >> nOp;
+        nOp = aIn.ReaduInt8();
 
         // always reset flags
         aSRD.InitFlags();
@@ -295,7 +295,7 @@ ConvErr ExcelToSc8::Convert( const ScTokenArray*& rpTokArray, XclImpStream& aIn,
                 GetTracer().TraceFormulaMissingArg();
                 break;
             case 0x17: // String Constant                       [314 266]
-                aIn >> nLen;        // und?
+                nLen = aIn.ReaduInt8();        // und?
                 aString = aIn.ReadUniString( nLen );            // reads Grbit even if nLen==0
 
                 aStack << aPool.Store( aString );
@@ -304,7 +304,7 @@ ConvErr ExcelToSc8::Convert( const ScTokenArray*& rpTokArray, XclImpStream& aIn,
                 {
                 sal_uInt8   nEptg;
                 sal_uInt16  nCol, nRow;
-                aIn >> nEptg;
+                nEptg = aIn.ReaduInt8();
                 switch( nEptg )
                 {                           //  name        size    ext     type
                     case 0x01:              //  Lel         4       -       err
@@ -317,7 +317,8 @@ ConvErr ExcelToSc8::Convert( const ScTokenArray*& rpTokArray, XclImpStream& aIn,
                     case 0x06:              //  RwV         4       -       val
                     case 0x07:              //  ColV        4       -       val
                     {
-                        aIn >> nRow >> nCol;
+                        nRow = aIn.ReaduInt16();
+                        nCol = aIn.ReaduInt16();
                         ScAddress aAddr(static_cast<SCCOL>(nCol & 0xFF), static_cast<SCROW>(nRow), aEingPos.Tab());
                         aSRD.InitAddress(aAddr);
 
@@ -333,7 +334,8 @@ ConvErr ExcelToSc8::Convert( const ScTokenArray*& rpTokArray, XclImpStream& aIn,
                     break;
                     case 0x0A:              //  Radical     13      -       ref
                     {
-                        aIn >> nRow >> nCol;
+                        nRow = aIn.ReaduInt16();
+                        nCol = aIn.ReaduInt16();
                         aIn.Ignore( 9 );
                         ScAddress aAddr(static_cast<SCCOL>(nCol & 0xFF), static_cast<SCROW>(nRow), aEingPos.Tab());
                         aSRD.InitAddress(aAddr);
@@ -375,7 +377,8 @@ ConvErr ExcelToSc8::Convert( const ScTokenArray*& rpTokArray, XclImpStream& aIn,
                 sal_uInt16 nData(0), nFakt(0);
                 sal_uInt8 nOpt(0);
 
-                aIn >> nOpt >> nData;
+                nOpt = aIn.ReaduInt8();
+                nData = aIn.ReaduInt16();
                 nFakt = 2;
 
                 if( nOpt & 0x04 )
@@ -390,7 +393,7 @@ ConvErr ExcelToSc8::Convert( const ScTokenArray*& rpTokArray, XclImpStream& aIn,
                 break;
             case 0x1C: // Error Value                           [314 266]
             {
-                aIn >> nByte;
+                nByte = aIn.ReaduInt8();
 
                 DefTokenId          eOc;
                 switch( nByte )
@@ -411,7 +414,7 @@ ConvErr ExcelToSc8::Convert( const ScTokenArray*& rpTokArray, XclImpStream& aIn,
             }
                 break;
             case 0x1D: // Boolean                               [315 266]
-                aIn >> nByte;
+                nByte = aIn.ReaduInt8();
                 if( nByte == 0 )
                     aPool << ocFalse << ocOpen << ocClose;
                 else
@@ -419,17 +422,18 @@ ConvErr ExcelToSc8::Convert( const ScTokenArray*& rpTokArray, XclImpStream& aIn,
                 aPool >> aStack;
                 break;
             case 0x1E: // Integer                               [315 266]
-                aIn >> nUINT16;
+                nUINT16 = aIn.ReaduInt16();
                 aStack << aPool.Store( ( double ) nUINT16 );
                 break;
             case 0x1F: // Number                                [315 266]
-                aIn >> fDouble;
+                fDouble = aIn.ReadDouble();
                 aStack << aPool.Store( fDouble );
                 break;
             case 0x40:
             case 0x60:
             case 0x20: // Array Constant                        [317 268]
-                aIn >> nByte >> nUINT16;
+                nByte = aIn.ReaduInt8();
+                nUINT16 = aIn.ReaduInt16();
                 aIn.Ignore( 4 );
                 if( bAllowArrays )
                 {
@@ -447,7 +451,7 @@ ConvErr ExcelToSc8::Convert( const ScTokenArray*& rpTokArray, XclImpStream& aIn,
             case 0x21: // Function, Fixed Number of Arguments   [333 282]
             {
                 sal_uInt16 nXclFunc;
-                aIn >> nXclFunc;
+                nXclFunc = aIn.ReaduInt16();
                 if( const XclFunctionInfo* pFuncInfo = maFuncProv.GetFuncInfoFromXclFunc( nXclFunc ) )
                     DoMulArgs( pFuncInfo->meOpCode, pFuncInfo->mnMaxParamCount );
                 else
@@ -460,7 +464,8 @@ ConvErr ExcelToSc8::Convert( const ScTokenArray*& rpTokArray, XclImpStream& aIn,
             {
                 sal_uInt16 nXclFunc;
                 sal_uInt8 nParamCount;
-                aIn >> nParamCount >> nXclFunc;
+                nParamCount = aIn.ReaduInt8();
+                nXclFunc = aIn.ReaduInt16();
                 nParamCount &= 0x7F;
                 if( const XclFunctionInfo* pFuncInfo = maFuncProv.GetFuncInfoFromXclFunc( nXclFunc ) )
                     DoMulArgs( pFuncInfo->meOpCode, nParamCount );
@@ -472,7 +477,7 @@ ConvErr ExcelToSc8::Convert( const ScTokenArray*& rpTokArray, XclImpStream& aIn,
             case 0x63:
             case 0x23: // Name                                  [318 269]
             {
-                aIn >> nUINT16;
+                nUINT16 = aIn.ReaduInt16();
                 aIn.Ignore( 2 );
                 const XclImpName* pName = GetNameManager().GetName( nUINT16 );
                 if (pName)
@@ -494,7 +499,8 @@ ConvErr ExcelToSc8::Convert( const ScTokenArray*& rpTokArray, XclImpStream& aIn,
             {
                 sal_uInt16          nCol, nRow;
 
-                aIn >> nRow >> nCol;
+                nRow = aIn.ReaduInt16();
+                nCol = aIn.ReaduInt16();
 
                 aSRD.SetRelTab(0);
                 aSRD.SetFlag3D( bRangeName && !bCondFormat );
@@ -526,7 +532,10 @@ ConvErr ExcelToSc8::Convert( const ScTokenArray*& rpTokArray, XclImpStream& aIn,
                 ScSingleRefData &rSRef1 = aCRD.Ref1;
                 ScSingleRefData &rSRef2 = aCRD.Ref2;
 
-                aIn >> nRowFirst >> nRowLast >> nColFirst >> nColLast;
+                nRowFirst = aIn.ReaduInt16();
+                nRowLast = aIn.ReaduInt16();
+                nColFirst = aIn.ReaduInt16();
+                nColLast = aIn.ReaduInt16();
 
                 rSRef1.SetRelTab(0);
                 rSRef2.SetRelTab(0);
@@ -584,7 +593,8 @@ ConvErr ExcelToSc8::Convert( const ScTokenArray*& rpTokArray, XclImpStream& aIn,
             {
                 sal_uInt16      nRow, nCol;
 
-                aIn >> nRow >> nCol;
+                nRow = aIn.ReaduInt16();
+                nCol = aIn.ReaduInt16();
 
                 aSRD.SetRelTab(0);
                 aSRD.SetFlag3D( bRangeName );
@@ -606,7 +616,10 @@ ConvErr ExcelToSc8::Convert( const ScTokenArray*& rpTokArray, XclImpStream& aIn,
                 aCRD.Ref1.SetFlag3D( bRangeName );
                 aCRD.Ref2.SetFlag3D( bRangeName );
 
-                aIn >> nRowFirst >> nRowLast >> nColFirst >> nColLast;
+                nRowFirst = aIn.ReaduInt16();
+                nRowLast = aIn.ReaduInt16();
+                nColFirst = aIn.ReaduInt16();
+                nColLast = aIn.ReaduInt16();
 
                 ExcRelToScRel8( nRowFirst, nColFirst, aCRD.Ref1, bRNorSF );
                 ExcRelToScRel8( nRowLast, nColLast, aCRD.Ref2, bRNorSF );
@@ -633,9 +646,9 @@ ConvErr ExcelToSc8::Convert( const ScTokenArray*& rpTokArray, XclImpStream& aIn,
             case 0x78:
             case 0x38: // Command-Equivalent Function           [333    ]
                 aString = "COMM_EQU_FUNC";
-                aIn >> nByte;
+                nByte = aIn.ReaduInt8();
                 aString += OUString::number( nByte );
-                aIn >> nByte;
+                nByte = aIn.ReaduInt8();
                 aStack << aPool.Store( aString );
                 DoMulArgs( ocPush, nByte + 1 );
                 break;
@@ -644,7 +657,8 @@ ConvErr ExcelToSc8::Convert( const ScTokenArray*& rpTokArray, XclImpStream& aIn,
             case 0x39: // Name or External Name                 [    275]
             {
                 sal_uInt16 nXtiIndex, nNameIdx;
-                aIn >> nXtiIndex >> nNameIdx;
+                nXtiIndex = aIn.ReaduInt16();
+                nNameIdx = aIn.ReaduInt16();
                 aIn.Ignore( 2 );
 
                 if( rLinkMan.IsSelfRef( nXtiIndex ) )
@@ -758,7 +772,9 @@ ConvErr ExcelToSc8::Convert( const ScTokenArray*& rpTokArray, XclImpStream& aIn,
                 sal_uInt16 nIxti, nRw, nGrbitCol;
                 SCTAB nTabFirst, nTabLast;
 
-                aIn >> nIxti >> nRw >> nGrbitCol;
+                nIxti = aIn.ReaduInt16();
+                nRw = aIn.ReaduInt16();
+                nGrbitCol = aIn.ReaduInt16();
 
                 ExternalTabInfo aExtInfo;
                 if (!Read3DTabReference(nIxti, nTabFirst, nTabLast, aExtInfo))
@@ -826,7 +842,11 @@ ConvErr ExcelToSc8::Convert( const ScTokenArray*& rpTokArray, XclImpStream& aIn,
             {
                 sal_uInt16 nIxti, nRw1, nGrbitCol1, nRw2, nGrbitCol2;
                 SCTAB nTabFirst, nTabLast;
-                aIn >> nIxti >> nRw1 >> nRw2 >> nGrbitCol1 >> nGrbitCol2;
+                nIxti = aIn.ReaduInt16();
+                nRw1 = aIn.ReaduInt16();
+                nRw2 = aIn.ReaduInt16();
+                nGrbitCol1 = aIn.ReaduInt16();
+                nGrbitCol2 = aIn.ReaduInt16();
 
                 ExternalTabInfo aExtInfo;
                 if (!Read3DTabReference(nIxti, nTabFirst, nTabLast, aExtInfo))
@@ -947,7 +967,7 @@ ConvErr ExcelToSc8::Convert( _ScRangeListTabs& rRangeList, XclImpStream& aIn, sa
 
     while( (aIn.GetRecPos() < nEndPos) && !bError )
     {
-        aIn >> nOp;
+        nOp = aIn.ReaduInt8();
 
         // always reset flags
         aSRD.InitFlags();
@@ -984,7 +1004,7 @@ ConvErr ExcelToSc8::Convert( _ScRangeListTabs& rRangeList, XclImpStream& aIn, sa
             case 0x16: // Missing Argument                      [314 266]
                 break;
             case 0x17: // String Constant                       [314 266]
-                aIn >> nLen;        // und?
+                nLen = aIn.ReaduInt8();        // und?
 
                 aIn.IgnoreUniString( nLen );        // reads Grbit even if nLen==0
                 break;
@@ -993,7 +1013,8 @@ ConvErr ExcelToSc8::Convert( _ScRangeListTabs& rRangeList, XclImpStream& aIn, sa
                 sal_uInt16 nData(0), nFakt(0);
                 sal_uInt8 nOpt(0);
 
-                aIn >> nOpt >> nData;
+                nOpt = aIn.ReaduInt8();
+                nData = aIn.ReaduInt16();
                 nFakt = 2;
 
                 if( nOpt & 0x04 )
@@ -1040,7 +1061,8 @@ ConvErr ExcelToSc8::Convert( _ScRangeListTabs& rRangeList, XclImpStream& aIn, sa
             {
                 sal_uInt16          nCol, nRow;
 
-                aIn >> nRow >> nCol;
+                nRow = aIn.ReaduInt16();
+                nCol = aIn.ReaduInt16();
 
                 aSRD.SetRelTab(0);
                 aSRD.SetFlag3D( bRangeName && !bCondFormat );
@@ -1059,7 +1081,10 @@ ConvErr ExcelToSc8::Convert( _ScRangeListTabs& rRangeList, XclImpStream& aIn, sa
                 ScSingleRefData &rSRef1 = aCRD.Ref1;
                 ScSingleRefData &rSRef2 = aCRD.Ref2;
 
-                aIn >> nRowFirst >> nRowLast >> nColFirst >> nColLast;
+                nRowFirst = aIn.ReaduInt16();
+                nRowLast = aIn.ReaduInt16();
+                nColFirst = aIn.ReaduInt16();
+                nColLast = aIn.ReaduInt16();
 
                 rSRef1.SetRelTab(0);
                 rSRef2.SetRelTab(0);
@@ -1110,7 +1135,8 @@ ConvErr ExcelToSc8::Convert( _ScRangeListTabs& rRangeList, XclImpStream& aIn, sa
             {
                 sal_uInt16      nRow, nCol;
 
-                aIn >> nRow >> nCol;
+                nRow = aIn.ReaduInt16();
+                nCol = aIn.ReaduInt16();
 
                 aSRD.SetRelTab(0);
                 aSRD.SetFlag3D( bRangeName );
@@ -1132,7 +1158,10 @@ ConvErr ExcelToSc8::Convert( _ScRangeListTabs& rRangeList, XclImpStream& aIn, sa
                 aCRD.Ref1.SetFlag3D( bRangeName );
                 aCRD.Ref2.SetFlag3D( bRangeName );
 
-                aIn >> nRowFirst >> nRowLast >> nColFirst >> nColLast;
+                nRowFirst = aIn.ReaduInt16();
+                nRowLast = aIn.ReaduInt16();
+                nColFirst = aIn.ReaduInt16(  );
+                nColLast = aIn.ReaduInt16();
 
                 ExcRelToScRel8( nRowFirst, nColFirst, aCRD.Ref1, bRNorSF );
                 ExcRelToScRel8( nRowLast, nColLast, aCRD.Ref2, bRNorSF );
@@ -1167,7 +1196,9 @@ ConvErr ExcelToSc8::Convert( _ScRangeListTabs& rRangeList, XclImpStream& aIn, sa
             {
                 sal_uInt16          nIxti, nRw, nGrbitCol;
 
-                aIn >> nIxti >> nRw >> nGrbitCol;
+                nIxti = aIn.ReaduInt16();
+                nRw = aIn.ReaduInt16();
+                nGrbitCol = aIn.ReaduInt16();
 
                 SCTAB nFirstScTab, nLastScTab;
                 if( rLinkMan.GetScTabRange( nFirstScTab, nLastScTab, nIxti ) )
@@ -1195,7 +1226,11 @@ ConvErr ExcelToSc8::Convert( _ScRangeListTabs& rRangeList, XclImpStream& aIn, sa
             {
                 sal_uInt16          nIxti, nRw1, nGrbitCol1, nRw2, nGrbitCol2;
 
-                aIn >> nIxti >> nRw1 >> nRw2 >> nGrbitCol1 >> nGrbitCol2;
+                nIxti = aIn.ReaduInt16();
+                nRw1 = aIn.ReaduInt16();
+                nRw2 = aIn.ReaduInt16();
+                nGrbitCol1 = aIn.ReaduInt16();
+                nGrbitCol2 = aIn.ReaduInt16();
 
                 SCTAB nFirstScTab, nLastScTab;
                 if( rLinkMan.GetScTabRange( nFirstScTab, nLastScTab, nIxti ) )
@@ -1287,7 +1322,7 @@ ConvErr ExcelToSc8::ConvertExternName( const ScTokenArray*& rpArray, XclImpStrea
 
     while( (rStrm.GetRecPos() < nEndPos) && !bError )
     {
-        rStrm >> nOp;
+        nOp = rStrm.ReaduInt8();
 
         // always reset flags
         aSRD.InitFlags();
@@ -1297,7 +1332,7 @@ ConvErr ExcelToSc8::ConvertExternName( const ScTokenArray*& rpArray, XclImpStrea
         {
             case 0x1C: // Error Value
             {
-                rStrm >> nByte;
+                nByte = rStrm.ReaduInt8();
                 DefTokenId eOc;
                 switch( nByte )
                 {
@@ -1320,7 +1355,10 @@ ConvErr ExcelToSc8::ConvertExternName( const ScTokenArray*& rpArray, XclImpStrea
             {
                 // cell reference in external range name
                 sal_uInt16 nExtTab1, nExtTab2, nRow, nGrbitCol;
-                rStrm >> nExtTab1 >> nExtTab2 >> nRow >> nGrbitCol;
+                nExtTab1 = rStrm.ReaduInt16();
+                nExtTab2 = rStrm.ReaduInt16();
+                nRow = rStrm.ReaduInt16();
+                nGrbitCol = rStrm.ReaduInt16();
                 if (nExtTab1 >= nTabCount || nExtTab2 >= nTabCount)
                 {
                     bError = true;
@@ -1350,7 +1388,12 @@ ConvErr ExcelToSc8::ConvertExternName( const ScTokenArray*& rpArray, XclImpStrea
             {
                 // area reference
                 sal_uInt16 nExtTab1, nExtTab2, nRow1, nRow2, nGrbitCol1, nGrbitCol2;
-                rStrm >> nExtTab1 >> nExtTab2 >> nRow1 >> nRow2 >> nGrbitCol1 >> nGrbitCol2;
+                nExtTab1 = rStrm.ReaduInt16();
+                nExtTab2 = rStrm.ReaduInt16();
+                nRow1 = rStrm.ReaduInt16();
+                nRow2 = rStrm.ReaduInt16();
+                nGrbitCol1 = rStrm.ReaduInt16();
+                nGrbitCol2 = rStrm.ReaduInt16();
                 ScSingleRefData& rR1 = aCRD.Ref1;
                 ScSingleRefData& rR2 = aCRD.Ref2;
 
@@ -1448,7 +1491,7 @@ bool ExcelToSc8::GetAbsRefs( ScRangeList& r, XclImpStream& aIn, sal_Size nLen )
 
     while( aIn.IsValid() && (aIn.GetRecPos() < nEndPos) )
     {
-        aIn >> nOp;
+        nOp = aIn.ReaduInt8();
         nSeek = 0;
 
         switch( nOp )
@@ -1460,7 +1503,8 @@ bool ExcelToSc8::GetAbsRefs( ScRangeList& r, XclImpStream& aIn, sal_Size nLen )
             case 0x6C:
             case 0x2C: // Cell Reference Within a Name          [323    ]
                        // Cell Reference Within a Shared Formula[    273]
-                aIn >> nRow1 >> nCol1;
+                nRow1 = aIn.ReaduInt16();
+                nCol1 = aIn.ReaduInt16();
 
                 nRow2 = nRow1;
                 nCol2 = nCol1;
@@ -1473,14 +1517,19 @@ bool ExcelToSc8::GetAbsRefs( ScRangeList& r, XclImpStream& aIn, sal_Size nLen )
             case 0x6D:
             case 0x2D: // Area Reference Within a Name          [324    ]
                        // Area Reference Within a Shared Formula[    274]
-                aIn >> nRow1 >> nRow2 >> nCol1 >> nCol2;
+                nRow1 = aIn.ReaduInt16();
+                nRow2 = aIn.ReaduInt16();
+                nCol1 = aIn.ReaduInt16();
+                nCol2 = aIn.ReaduInt16();
 
                 nTab1 = nTab2 = GetCurrScTab();
                 goto _common;
             case 0x5A:
             case 0x7A:
             case 0x3A: // 3-D Cell Reference                    [    275]
-                aIn >> nIxti >> nRow1 >> nCol1;
+                nIxti = aIn.ReaduInt16();
+                nRow1 = aIn.ReaduInt16();
+                nCol1 = aIn.ReaduInt16();
 
                 nRow2 = nRow1;
                 nCol2 = nCol1;
@@ -1489,7 +1538,11 @@ bool ExcelToSc8::GetAbsRefs( ScRangeList& r, XclImpStream& aIn, sal_Size nLen )
             case 0x5B:
             case 0x7B:
             case 0x3B: // 3-D Area Reference                    [    276]
-                aIn >> nIxti >> nRow1 >> nRow2 >> nCol1 >> nCol2;
+                nIxti = aIn.ReaduInt16();
+                nRow1 = aIn.ReaduInt16();
+                nRow2 = aIn.ReaduInt16();
+                nCol1 = aIn.ReaduInt16();
+                nCol2 = aIn.ReaduInt16();
 
     _3d_common:
                 // skip references to deleted sheets
@@ -1580,7 +1633,7 @@ bool ExcelToSc8::GetAbsRefs( ScRangeList& r, XclImpStream& aIn, sal_Size nLen )
             case 0x17: // String Constant                       [314 266]
             {
                 sal_uInt8 nStrLen;
-                aIn >> nStrLen;
+                nStrLen = aIn.ReaduInt8();
                 aIn.IgnoreUniString( nStrLen );     // reads Grbit even if nLen==0
                 nSeek = 0;
             }
@@ -1589,7 +1642,8 @@ bool ExcelToSc8::GetAbsRefs( ScRangeList& r, XclImpStream& aIn, sal_Size nLen )
             {
                 sal_uInt16  nData;
                 sal_uInt8   nOpt;
-                aIn >> nOpt >> nData;
+                nOpt = aIn.ReaduInt8();
+                nData = aIn.ReaduInt16();
                 if( nOpt & 0x04 )
                 {// nFakt -> skip bytes or words    AttrChoose
                     nData++;
diff --git a/sc/source/filter/excel/excimp8.cxx b/sc/source/filter/excel/excimp8.cxx
index 3f6317f..55d4f1f 100644
--- a/sc/source/filter/excel/excimp8.cxx
+++ b/sc/source/filter/excel/excimp8.cxx
@@ -251,7 +251,8 @@ void ImportExcel8::Boundsheet( void )
     aIn.DisableDecryption();
     maSheetOffsets.push_back( aIn.ReaduInt32() );
     aIn.EnableDecryption();
-    aIn >> nGrbit >> nLen;
+    nGrbit = aIn.ReaduInt16();
+    nLen = aIn.ReaduInt8();
 
     OUString aName( aIn.ReadUniString( nLen ) );
     GetTabInfo().AppendXclTabName( aName, nBdshtTab );
@@ -280,7 +281,7 @@ void ImportExcel8::Scenman( void )
     sal_uInt16              nLastDispl;
 
     aIn.Ignore( 4 );
-    aIn >> nLastDispl;
+    nLastDispl = aIn.ReaduInt16();
 
     maScenList.nLastScenario = nLastDispl;
 }
@@ -296,7 +297,9 @@ void ImportExcel8::Labelsst( void )
     sal_uInt16 nXF;
     sal_uInt32  nSst;
 
-    aIn >> aXclPos >> nXF >> nSst;
+    aIn >> aXclPos;
+    nXF = aIn.ReaduInt16();
+    nSst = aIn.ReaduInt32(  );
 
     ScAddress aScPos( ScAddress::UNINITIALIZED );
     if( GetAddressConverter().ConvertAddress( aScPos, aXclPos, GetCurrScTab(), true ) )
@@ -613,7 +616,8 @@ void XclImpAutoFilterData::ReadAutoFilter(
     XclImpStream& rStrm, svl::SharedStringPool& rPool )
 {
     sal_uInt16 nCol, nFlags;
-    rStrm >> nCol >> nFlags;
+    nCol = rStrm.ReaduInt16();
+    nFlags = rStrm.ReaduInt16();
 
     ScQueryConnect eConn = ::get_flagvalue( nFlags, EXC_AFFLAG_ANDORMASK, SC_OR, SC_AND );
     bool bSimple1    = ::get_flag(nFlags, EXC_AFFLAG_SIMPLE1);
@@ -654,7 +658,8 @@ void XclImpAutoFilterData::ReadAutoFilter(
         ScQueryEntry::Item& rItem = rEntry.GetQueryItem();
         bIgnore = false;
 
-        rStrm >> nType >> nOper;
+        nType = rStrm.ReaduInt8();
+        nOper = rStrm.ReaduInt8();
         switch( nOper )
         {
             case EXC_AFOPER_LESS:
@@ -682,23 +687,24 @@ void XclImpAutoFilterData::ReadAutoFilter(
         switch( nType )
         {
             case EXC_AFTYPE_RK:
-                rStrm >> nRK;
+                nRK = rStrm.ReadInt32();
                 rStrm.Ignore( 4 );
                 rItem.maString = rPool.intern(
                     CreateFromDouble(XclTools::GetDoubleFromRK(nRK)));
             break;
             case EXC_AFTYPE_DOUBLE:
-                rStrm >> fVal;
+                fVal = rStrm.ReadDouble();
                 rItem.maString = rPool.intern(CreateFromDouble(fVal));
             break;
             case EXC_AFTYPE_STRING:
                 rStrm.Ignore( 4 );
-                rStrm >> nStrLen[ nE ];
+                nStrLen[ nE ] = rStrm.ReaduInt8();
                 rStrm.Ignore( 3 );
                 rItem.maString = svl::SharedString();
             break;
             case EXC_AFTYPE_BOOLERR:
-                rStrm >> nBoolErr >> nVal;
+                nBoolErr = rStrm.ReaduInt8();
+                nVal = rStrm.ReaduInt8();
                 rStrm.Ignore( 6 );
                 rItem.maString = rPool.intern(OUString::number(nVal));
                 bIgnore = (nBoolErr != 0);
diff --git a/sc/source/filter/excel/exctools.cxx b/sc/source/filter/excel/exctools.cxx
index cf6d867..53df973 100644
--- a/sc/source/filter/excel/exctools.cxx
+++ b/sc/source/filter/excel/exctools.cxx
@@ -180,10 +180,11 @@ ExcScenario::ExcScenario( XclImpStream& rIn, const RootData& rR )
     sal_uInt16          nCref;
     sal_uInt8           nName, nComment;
 
-    rIn >> nCref;
-    rIn >> nProtected;
+    nCref = rIn.ReaduInt16();
+    nProtected = rIn.ReaduInt8();
     rIn.Ignore( 1 );                // Hide
-    rIn >> nName >> nComment;
+    nName = rIn.ReaduInt8();
+    nComment = rIn.ReaduInt8();
     rIn.Ignore( 1 );       // statt nUser!
 
     if( nName )
@@ -205,7 +206,8 @@ ExcScenario::ExcScenario( XclImpStream& rIn, const RootData& rR )
     sal_uInt16          nC, nR;
     while( n )
     {
-        rIn >> nR >> nC;
+        nR = rIn.ReaduInt16();
+        nC = rIn.ReaduInt16();
 
         aEntries.push_back(new ExcScenarioCell( nC, nR ));
 
diff --git a/sc/source/filter/excel/impop.cxx b/sc/source/filter/excel/impop.cxx
index ca1ca75..667c88a 100644
--- a/sc/source/filter/excel/impop.cxx
+++ b/sc/source/filter/excel/impop.cxx
@@ -186,7 +186,8 @@ void ImportExcel::SetLastFormula( SCCOL nCol, SCROW nRow, double fVal, sal_uInt1
 void ImportExcel::ReadFileSharing()
 {
     sal_uInt16 nRecommendReadOnly, nPasswordHash;
-    maStrm >> nRecommendReadOnly >> nPasswordHash;
+    nRecommendReadOnly = maStrm.ReaduInt16();
+    nPasswordHash = maStrm.ReaduInt16();
 
     if( (nRecommendReadOnly != 0) || (nPasswordHash != 0) )
     {
@@ -219,7 +220,9 @@ sal_uInt16 ImportExcel::ReadXFIndex( const ScAddress& rScPos, bool bBiff2 )
         }
         // read formatting information (includes the XF identifier)
         sal_uInt8 nFlags1, nFlags2, nFlags3;
-        maStrm >> nFlags1 >> nFlags2 >> nFlags3;
+        nFlags1 = maStrm.ReaduInt8();
+        nFlags2 = maStrm.ReaduInt8();
+        nFlags3 = maStrm.ReaduInt8();
         /*  If the file contains XFs, extract and set the XF identifier,
             otherwise get the explicit formatting. */
         if( mbBiff2HasXfs )
@@ -239,7 +242,7 @@ sal_uInt16 ImportExcel::ReadXFIndex( const ScAddress& rScPos, bool bBiff2 )
         }
     }
     else
-        aIn >> nXFIdx;
+        nXFIdx = aIn.ReaduInt16();
     return nXFIdx;
 }
 
@@ -264,7 +267,10 @@ void ImportExcel::ReadDimensions()
     else
     {
         sal_uInt32 nXclRow1, nXclRow2;
-        maStrm >> nXclRow1 >> nXclRow2 >> aXclUsedArea.maFirst.mnCol >> aXclUsedArea.maLast.mnCol;
+        nXclRow1 = maStrm.ReaduInt32();
+        nXclRow2 = maStrm.ReaduInt32();
+        aXclUsedArea.maFirst.mnCol = maStrm.ReaduInt16();
+        aXclUsedArea.maLast.mnCol = maStrm.ReaduInt16();
         if( (nXclRow1 < nXclRow2) && (aXclUsedArea.GetColCount() > 1) &&
             (nXclRow1 <= static_cast< sal_uInt32 >( GetScMaxPos().Row() )) )
         {
@@ -307,7 +313,7 @@ void ImportExcel::ReadInteger()
     {
         sal_uInt16 nXFIdx = ReadXFIndex( aScPos, true );
         sal_uInt16 nValue;
-        maStrm >> nValue;
+        nValue = maStrm.ReaduInt16();
 
         GetXFRangeBuffer().SetXF( aScPos, nXFIdx );
         GetDocImport().setNumericCell(aScPos, nValue);
@@ -324,7 +330,7 @@ void ImportExcel::ReadNumber()
     {
         sal_uInt16 nXFIdx = ReadXFIndex( aScPos, maStrm.GetRecId() == EXC_ID2_NUMBER );
         double fValue;
-        maStrm >> fValue;
+        fValue = maStrm.ReadDouble();
 
         GetXFRangeBuffer().SetXF( aScPos, nXFIdx );
         GetDocImport().setNumericCell(aScPos, fValue);
@@ -371,7 +377,8 @@ void ImportExcel::ReadBoolErr()
     {
         sal_uInt16 nXFIdx = ReadXFIndex( aScPos, maStrm.GetRecId() == EXC_ID2_BOOLERR );
         sal_uInt8 nValue, nType;
-        maStrm >> nValue >> nType;
+        nValue = maStrm.ReaduInt8();
+        nType = maStrm.ReaduInt8();
 
         if( nType == EXC_BOOLERR_BOOL )
             GetXFRangeBuffer().SetBoolXF( aScPos, nXFIdx );
@@ -396,7 +403,7 @@ void ImportExcel::ReadRk()
     {
         sal_uInt16 nXFIdx = ReadXFIndex( aScPos, false );
         sal_Int32 nRk;
-        maStrm >> nRk;
+        nRk = maStrm.ReadInt32();
 
         GetXFRangeBuffer().SetXF( aScPos, nXFIdx );
         GetDocImport().setNumericCell(aScPos, XclTools::GetDoubleFromRK(nRk));
@@ -412,12 +419,12 @@ void ImportExcel::Row25( void )
 {
     sal_uInt16  nRow, nRowHeight;
 
-    aIn >> nRow;
+    nRow = aIn.ReaduInt16();
     aIn.Ignore( 4 );
 
     if( ValidRow( nRow ) )
     {
-        aIn >> nRowHeight;  // specify direct in Twips
+        nRowHeight = aIn.ReaduInt16();  // specify direct in Twips
         aIn.Ignore( 2 );
 
         if( GetBiff() == EXC_BIFF2 )
@@ -429,7 +436,7 @@ void ImportExcel::Row25( void )
             sal_uInt16  nGrbit;
 
             aIn.Ignore( 2 );   // reserved
-            aIn >> nGrbit;
+            nGrbit = aIn.ReaduInt16();
 
             sal_uInt8 nLevel = ::extract_value< sal_uInt8 >( nGrbit, 0, 3 );
             pRowOutlineBuff->SetLevel( nRow, nLevel, ::get_flag( nGrbit, EXC_ROW_COLLAPSED ) );
@@ -443,7 +450,7 @@ void ImportExcel::Bof2( void )
     sal_uInt16 nSubType;
     maStrm.DisableDecryption();
     maStrm.Ignore( 2 );
-    maStrm >> nSubType;
+    nSubType = maStrm.ReaduInt16();
 
     if( nSubType == 0x0020 )        // Chart
         pExcRoot->eDateiTyp = Biff2C;
@@ -490,7 +497,8 @@ void ImportExcel::Columndefault( void )
     sal_uInt16  nColMic, nColMac;
     sal_uInt8   nOpt0;
 
-    aIn >> nColMic >> nColMac;
+    nColMic = aIn.ReaduInt16();
+    nColMac = aIn.ReaduInt16();
 
     OSL_ENSURE( aIn.GetRecLeft() == (sal_Size)(nColMac - nColMic) * 3 + 2,
                 "ImportExcel::Columndefault - wrong record size" );
@@ -502,7 +510,7 @@ void ImportExcel::Columndefault( void )
 
     for( sal_uInt16 nCol = nColMic ; nCol <= nColMac ; nCol++ )
     {
-        aIn >> nOpt0;
+        nOpt0 = aIn.ReaduInt8();
         aIn.Ignore( 2 );   // only 0. Attribut-Byte used
 
         if( nOpt0 & 0x80 )  // Col hidden?
@@ -515,7 +523,10 @@ void ImportExcel::Array25( void )
     sal_uInt16      nFirstRow, nLastRow, nFormLen;
     sal_uInt8       nFirstCol, nLastCol;
 
-    aIn >> nFirstRow >> nLastRow >> nFirstCol >> nLastCol;
+    nFirstRow = aIn.ReaduInt16();
+    nLastRow = aIn.ReaduInt16();
+    nFirstCol = aIn.ReaduInt8();
+    nLastCol = aIn.ReaduInt8();
 
     if( GetBiff() == EXC_BIFF2 )
     {//                     BIFF2
@@ -525,7 +536,7 @@ void ImportExcel::Array25( void )
     else
     {//                     BIFF5
         aIn.Ignore( 6 );
-        aIn >> nFormLen;
+        nFormLen = aIn.ReaduInt16();
     }
 
     if( ValidColRow( nLastCol, nLastRow ) )
@@ -549,7 +560,7 @@ void ImportExcel::Rec1904( void )
 {
     sal_uInt16  n1904;
 
-    aIn >> n1904;
+    n1904 = aIn.ReaduInt16();
 
     if( n1904 )
     {// 1904 date system
@@ -565,7 +576,8 @@ void ImportExcel::Externname25( void )
     sal_uInt32      nRes;
     sal_uInt16      nOpt;
 
-    aIn >> nOpt >> nRes;
+    nOpt = aIn.ReaduInt16();
+    nRes = aIn.ReaduInt32();
 
     OUString aName( aIn.ReadByteString( false ) );
 
@@ -589,7 +601,9 @@ void ImportExcel::Colwidth( void )
     sal_uInt8   nColFirst, nColLast;
     sal_uInt16  nColWidth;
 
-    aIn >> nColFirst >> nColLast >> nColWidth;
+    nColFirst = aIn.ReaduInt8();
+    nColLast = aIn.ReaduInt8();
+    nColWidth = aIn.ReaduInt16();
 
 //! TODO: add a check for the unlikely case of changed MAXCOL (-> XclImpAddressConverter)
 //   if( nColLast > MAXCOL )
@@ -602,7 +616,7 @@ void ImportExcel::Colwidth( void )
 void ImportExcel::Defrowheight2( void )
 {
     sal_uInt16 nDefHeight;
-    maStrm >> nDefHeight;
+    nDefHeight = maStrm.ReaduInt16();
     nDefHeight &= 0x7FFF;
     pColRowBuff->SetDefHeight( nDefHeight, EXC_DEFROW_UNSYNCED );
 }
@@ -638,7 +652,7 @@ void ImportExcel::Codepage( void )
 
 void ImportExcel::Ixfe( void )
 {
-    maStrm >> mnIxfeIndex;
+    mnIxfeIndex = maStrm.ReaduInt16();
 }
 
 void ImportExcel::DefColWidth( void )
@@ -663,7 +677,11 @@ void ImportExcel::Colinfo( void )
     sal_uInt16  nColFirst, nColLast, nColWidth, nXF;
     sal_uInt16  nOpt;
 
-    aIn >> nColFirst >> nColLast >> nColWidth >> nXF >> nOpt;
+    nColFirst = aIn.ReaduInt16();
+    nColLast = aIn.ReaduInt16();
+    nColWidth = aIn.ReaduInt16();
+    nXF = aIn.ReaduInt16();
+    nOpt = aIn.ReaduInt16();
 
     if( nColFirst > MAXCOL )
         return;
@@ -687,7 +705,7 @@ void ImportExcel::Colinfo( void )
 void ImportExcel::Wsbool( void )
 {
     sal_uInt16 nFlags;
-    aIn >> nFlags;
+    nFlags = aIn.ReaduInt16();
 
     pRowOutlineBuff->SetButtonMode( ::get_flag( nFlags, EXC_WSBOOL_ROWBELOW ) );
     pColOutlineBuff->SetButtonMode( ::get_flag( nFlags, EXC_WSBOOL_COLBELOW ) );
@@ -704,7 +722,7 @@ void ImportExcel::Boundsheet( void )
         aIn.DisableDecryption();
         maSheetOffsets.push_back( aIn.ReaduInt32() );
         aIn.EnableDecryption();
-        aIn >> nGrbit;
+        nGrbit = aIn.ReaduInt16();
     }
 
     OUString aName( aIn.ReadByteString( false ) );
@@ -731,7 +749,8 @@ void ImportExcel::Boundsheet( void )
 void ImportExcel::Country( void )
 {
     sal_uInt16 nUICountry, nDocCountry;
-    maStrm >> nUICountry >> nDocCountry;
+    nUICountry = maStrm.ReaduInt16();
+    nDocCountry = maStrm.ReaduInt16();
 
     // Store system language in XclRoot
     LanguageType eLanguage = ::msfilter::ConvertCountryToLanguage( static_cast< ::msfilter::CountryId >( nDocCountry ) );
@@ -759,7 +778,7 @@ void ImportExcel::Hideobj( void )
     sal_uInt16      nHide;
     ScVObjMode  eOle, eChart, eDraw;
 
-    aIn >> nHide;
+    nHide = aIn.ReaduInt16();
 
     ScViewOptions aOpts( pD->GetViewOptions() );
 
@@ -819,9 +838,12 @@ void ImportExcel::Shrfmla( void )
     sal_uInt16              nFirstRow, nLastRow, nLenExpr;
     sal_uInt8               nFirstCol, nLastCol;
 
-    aIn >> nFirstRow >> nLastRow >> nFirstCol >> nLastCol;
+    nFirstRow = aIn.ReaduInt16();
+    nLastRow = aIn.ReaduInt16();
+    nFirstCol = aIn.ReaduInt8();
+    nLastCol = aIn.ReaduInt8();
     aIn.Ignore( 2 );
-    aIn >> nLenExpr;
+    nLenExpr = aIn.ReaduInt16();
 
     // read mark is now on the formula
 
@@ -866,7 +888,8 @@ void ImportExcel::Mulrk( void )
 
     for( XclAddress aCurrXclPos( aXclPos ); (aXclPos.mnCol <= aCurrXclPos.mnCol) && (aIn.GetRecLeft() > 2); ++aCurrXclPos.mnCol )
     {
-        aIn >> nXF >> nRkNum;
+        nXF = aIn.ReaduInt16();
+        nRkNum = aIn.ReadInt32();
 
         ScAddress aScPos( ScAddress::UNINITIALIZED );
         if( GetAddressConverter().ConvertAddress( aScPos, aCurrXclPos, GetCurrScTab(), true ) )
@@ -886,7 +909,7 @@ void ImportExcel::Mulblank( void )
 
     for( XclAddress aCurrXclPos( aXclPos ); (aXclPos.mnCol <= aCurrXclPos.mnCol) && (aIn.GetRecLeft() > 2); ++aCurrXclPos.mnCol )
     {
-        aIn >> nXF;
+        nXF = aIn.ReaduInt16();
 
         ScAddress aScPos( ScAddress::UNINITIALIZED );
         if( GetAddressConverter().ConvertAddress( aScPos, aCurrXclPos, GetCurrScTab(), true ) )
@@ -898,7 +921,8 @@ void ImportExcel::Rstring( void )
 {
     XclAddress aXclPos;
     sal_uInt16 nXFIdx;
-    aIn >> aXclPos >> nXFIdx;
+    aIn >> aXclPos;
+    nXFIdx = aIn.ReaduInt16();
 
     ScAddress aScPos( ScAddress::UNINITIALIZED );
     if( GetAddressConverter().ConvertAddress( aScPos, aXclPos, GetCurrScTab(), true ) )
@@ -928,7 +952,7 @@ void ImportExcel::Cellmerging()
     SCTAB nScTab = GetCurrScTab();
 
     sal_uInt16 nCount;
-    maStrm >> nCount;
+    nCount = maStrm.ReaduInt16();
     for( sal_uInt16 nIdx = 0; (nIdx < nCount) && (maStrm.GetRecLeft() >= 8); ++nIdx )
     {
         XclRange aXclRange;
@@ -953,21 +977,22 @@ void ImportExcel::Row34( void )
 {
     sal_uInt16  nRow, nRowHeight, nGrbit, nXF;
 
-    aIn >> nRow;
+    nRow = aIn.ReaduInt16();
     aIn.Ignore( 4 );
 
     SCROW nScRow = static_cast< SCROW >( nRow );
 
     if( ValidRow( nScRow ) )
     {
-        aIn >> nRowHeight;  // specify direct in Twips
+        nRowHeight = aIn.ReaduInt16();  // specify direct in Twips
         aIn.Ignore( 4 );
 
         nRowHeight = nRowHeight & 0x7FFF; // Bit 15: Row Height not changed manually
         if( !nRowHeight )
             nRowHeight = (GetBiff() == EXC_BIFF2) ? 0x25 : 0x225;
 
-        aIn >> nGrbit >> nXF;
+        nGrbit = aIn.ReaduInt16();
+        nXF = aIn.ReaduInt16();
 
         sal_uInt8 nLevel = ::extract_value< sal_uInt8 >( nGrbit, 0, 3 );
         pRowOutlineBuff->SetLevel( nScRow, nLevel, ::get_flag( nGrbit, EXC_ROW_COLLAPSED ) );
@@ -983,7 +1008,7 @@ void ImportExcel::Bof3( void )
     sal_uInt16 nSubType;
     maStrm.DisableDecryption();
     maStrm.Ignore( 2 );
-    maStrm >> nSubType;
+    nSubType = maStrm.ReaduInt16();
 
     OSL_ENSURE( nSubType != 0x0100, "*ImportExcel::Bof3(): Biff3 as Workbook?!" );
     if( nSubType == 0x0100 )        // Book
@@ -1001,9 +1026,12 @@ void ImportExcel::Array34( void )
     sal_uInt16                  nFirstRow, nLastRow, nFormLen;
     sal_uInt8                   nFirstCol, nLastCol;
 
-    aIn >> nFirstRow >> nLastRow >> nFirstCol >> nLastCol;
+    nFirstRow = aIn.ReaduInt16();
+    nLastRow = aIn.ReaduInt16();
+    nFirstCol = aIn.ReaduInt8();
+    nLastCol = aIn.ReaduInt8();
     aIn.Ignore( (GetBiff() >= EXC_BIFF5) ? 6 : 2 );
-    aIn >> nFormLen;
+    nFormLen = aIn.ReaduInt16();
 
     if( ValidColRow( nLastCol, nLastRow ) )
     {
@@ -1029,7 +1057,8 @@ void ImportExcel::Externname34( void )
 void ImportExcel::Defrowheight345( void )
 {
     sal_uInt16 nFlags, nDefHeight;
-    maStrm >> nFlags >> nDefHeight;
+    nFlags = maStrm.ReaduInt16();
+    nDefHeight = maStrm.ReaduInt16();
     pColRowBuff->SetDefHeight( nDefHeight, nFlags );
 }
 
@@ -1040,8 +1069,15 @@ void ImportExcel::TableOp( void )
     sal_uInt16 nGrbit;
     sal_uInt16 nInpRow, nInpCol, nInpRow2, nInpCol2;
 
-    aIn >> nFirstRow >> nLastRow >> nFirstCol >> nLastCol >> nGrbit
-        >> nInpRow >> nInpCol >> nInpRow2 >> nInpCol2;
+    nFirstRow = aIn.ReaduInt16();
+    nLastRow = aIn.ReaduInt16();
+    nFirstCol = aIn.ReaduInt8();
+    nLastCol = aIn.ReaduInt8();
+    nGrbit = aIn.ReaduInt16();
+    nInpRow = aIn.ReaduInt16();
+    nInpCol = aIn.ReaduInt16();
+    nInpRow2 = aIn.ReaduInt16();
+    nInpCol2 = aIn.ReaduInt16();
 
     if( ValidColRow( nLastCol, nLastRow ) )
     {
@@ -1113,7 +1149,7 @@ void ImportExcel::Bof4( void )
     sal_uInt16 nSubType;
     maStrm.DisableDecryption();
     maStrm.Ignore( 2 );
-    maStrm >> nSubType;
+    nSubType = maStrm.ReaduInt16();
 
     if( nSubType == 0x0100 )        // Book
         pExcRoot->eDateiTyp = Biff4W;
@@ -1132,7 +1168,8 @@ void ImportExcel::Bof5( void )
     BiffTyp     eDatei;
 
     maStrm.DisableDecryption();
-    maStrm >> nVers >> nSubType;
+    nVers = maStrm.ReaduInt16();
+    nSubType = maStrm.ReaduInt16(  );
 
     switch( nSubType )
     {
diff --git a/sc/source/filter/excel/xichart.cxx b/sc/source/filter/excel/xichart.cxx
index 6313fa5..5ef1b57 100644
--- a/sc/source/filter/excel/xichart.cxx
+++ b/sc/source/filter/excel/xichart.cxx
@@ -135,7 +135,11 @@ namespace {
 
 XclImpStream& operator>>( XclImpStream& rStrm, XclChRectangle& rRect )
 {
-    return rStrm >> rRect.mnX >> rRect.mnY >> rRect.mnWidth >> rRect.mnHeight;
+    rRect.mnX = rStrm.ReadInt32();
+    rRect.mnY = rStrm.ReadInt32();
+    rRect.mnWidth = rStrm.ReadInt32();
+    rRect.mnHeight = rStrm.ReadInt32();
+    return rStrm;
 }
 
 inline void lclSetValueOrClearAny( Any& rAny, double fValue, bool bClear )
@@ -436,7 +440,8 @@ void XclImpChGroupBase::SkipBlock( XclImpStream& rStrm )
 
 void XclImpChFramePos::ReadChFramePos( XclImpStream& rStrm )
 {
-    rStrm >> maData.mnTLMode >> maData.mnBRMode;
+    maData.mnTLMode = rStrm.ReaduInt16();
+    maData.mnBRMode = rStrm.ReaduInt16();
     /*  According to the spec, the upper 16 bits of all members in the
         rectangle are unused and may contain garbage. */
     maData.maRect.mnX = rStrm.ReadInt16(); rStrm.Ignore( 2 );
@@ -447,7 +452,10 @@ void XclImpChFramePos::ReadChFramePos( XclImpStream& rStrm )
 
 void XclImpChLineFormat::ReadChLineFormat( XclImpStream& rStrm )
 {
-    rStrm >> maData.maColor >> maData.mnPattern >> maData.mnWeight >> maData.mnFlags;
+    rStrm >> maData.maColor;
+    maData.mnPattern = rStrm.ReaduInt16();
+    maData.mnWeight = rStrm.ReadInt16();
+    maData.mnFlags = rStrm.ReaduInt16();
 
     const XclImpRoot& rRoot = rStrm.GetRoot();
     if( rRoot.GetBiff() == EXC_BIFF8 )
@@ -477,7 +485,9 @@ void XclImpChLineFormat::Convert( const XclImpChRoot& rRoot,
 
 void XclImpChAreaFormat::ReadChAreaFormat( XclImpStream& rStrm )
 {
-    rStrm >> maData.maPattColor >> maData.maBackColor >> maData.mnPattern >> maData.mnFlags;
+    rStrm >> maData.maPattColor >> maData.maBackColor;
+    maData.mnPattern = rStrm.ReaduInt16();
+    maData.mnFlags = rStrm.ReaduInt16();
 
     const XclImpRoot& rRoot = rStrm.GetRoot();
     if( rRoot.GetBiff() == EXC_BIFF8 )
@@ -532,9 +542,10 @@ void XclImpChEscherFormat::ReadSubRecord( XclImpStream& rStrm )
     switch( rStrm.GetRecId() )
     {
         case EXC_ID_CHPICFORMAT:
-            rStrm >> maPicFmt.mnBmpMode;
+            maPicFmt.mnBmpMode = rStrm.ReaduInt16();
             rStrm.Ignore( 2 );
-            rStrm >> maPicFmt.mnFlags >> maPicFmt.mfScale;
+            maPicFmt.mnFlags = rStrm.ReaduInt16();
+            maPicFmt.mfScale = rStrm.ReadDouble();
         break;
     }
 }
@@ -630,7 +641,8 @@ XclImpChFrame::XclImpChFrame( const XclImpChRoot& rRoot, XclChObjectType eObjTyp
 
 void XclImpChFrame::ReadHeaderRecord( XclImpStream& rStrm )
 {
-    rStrm >> maData.mnFormat >> maData.mnFlags;
+    maData.mnFormat = rStrm.ReaduInt16();
+    maData.mnFlags = rStrm.ReaduInt16();
 }
 
 void XclImpChFrame::UpdateObjFrame( const XclObjLineData& rLineData, const XclObjFillData& rFillData )
@@ -728,10 +740,10 @@ XclImpChSourceLink::~XclImpChSourceLink()
 
 void XclImpChSourceLink::ReadChSourceLink( XclImpStream& rStrm )
 {
-    rStrm   >> maData.mnDestType
-            >> maData.mnLinkType
-            >> maData.mnFlags
-            >> maData.mnNumFmtIdx;
+    maData.mnDestType = rStrm.ReaduInt8();
+    maData.mnLinkType = rStrm.ReaduInt8();
+    maData.mnFlags = rStrm.ReaduInt16();
+    maData.mnNumFmtIdx = rStrm.ReaduInt16();
 
     mxTokenArray.reset();
     if( GetLinkType() == EXC_CHSRCLINK_WORKSHEET )
@@ -919,7 +931,7 @@ XclImpChFont::XclImpChFont() :
 
 void XclImpChFont::ReadChFont( XclImpStream& rStrm )
 {
-    rStrm >> mnFontIdx;
+    mnFontIdx = rStrm.ReaduInt16();
 }
 
 XclImpChText::XclImpChText( const XclImpChRoot& rRoot ) :
@@ -929,19 +941,20 @@ XclImpChText::XclImpChText( const XclImpChRoot& rRoot ) :
 
 void XclImpChText::ReadHeaderRecord( XclImpStream& rStrm )
 {
-    rStrm   >> maData.mnHAlign
-            >> maData.mnVAlign
-            >> maData.mnBackMode
-            >> maData.maTextColor
-            >> maData.maRect
-            >> maData.mnFlags;
+    maData.mnHAlign = rStrm.ReaduInt8();
+    maData.mnVAlign = rStrm.ReaduInt8();
+    maData.mnBackMode = rStrm.ReaduInt16();
+    rStrm   >> maData.maTextColor
+            >> maData.maRect;
+    maData.mnFlags = rStrm.ReaduInt16();
 
     if( GetBiff() == EXC_BIFF8 )
     {
         // BIFF8: index into palette used instead of RGB data
         maData.maTextColor = GetPalette().GetColor( rStrm.ReaduInt16() );
         // placement and rotation
-        rStrm >> maData.mnFlags2 >> maData.mnRotation;
+        maData.mnFlags2 = rStrm.ReaduInt16();
+        maData.mnRotation = rStrm.ReaduInt16();
     }
     else
     {
@@ -976,7 +989,9 @@ void XclImpChText::ReadSubRecord( XclImpStream& rStrm )
             mxFrame->ReadRecordGroup( rStrm );
         break;
         case EXC_ID_CHOBJECTLINK:
-            rStrm >> maObjLink.mnTarget >> maObjLink.maPointPos.mnSeriesIdx >> maObjLink.maPointPos.mnPointIdx;
+            maObjLink.mnTarget = rStrm.ReaduInt16();
+            maObjLink.maPointPos.mnSeriesIdx = rStrm.ReaduInt16();
+            maObjLink.maPointPos.mnPointIdx = rStrm.ReaduInt16();
         break;
         case EXC_ID_CHFRLABELPROPS:
             ReadChFrLabelProps( rStrm );
@@ -1207,7 +1222,8 @@ void XclImpChText::ReadChFrLabelProps( XclImpStream& rStrm )
         mxLabelProps.reset( new XclChFrLabelProps );
         sal_uInt16 nSepLen;
         rStrm.Ignore( 12 );
-        rStrm >> mxLabelProps->mnFlags >> nSepLen;
+        mxLabelProps->mnFlags = rStrm.ReaduInt16();
+        nSepLen = rStrm.ReaduInt16();
         if( nSepLen > 0 )
             mxLabelProps->maSeparator = rStrm.ReadUniString( nSepLen );
     }
@@ -1247,7 +1263,9 @@ void lclFinalizeTitle( XclImpChTextRef& rxTitle, const XclImpChText* pDefText, c
 
 void XclImpChMarkerFormat::ReadChMarkerFormat( XclImpStream& rStrm )
 {
-    rStrm >> maData.maLineColor >> maData.maFillColor >> maData.mnMarkerType >> maData.mnFlags;
+    rStrm >> maData.maLineColor >> maData.maFillColor;
+    maData.mnMarkerType = rStrm.ReaduInt16();
+    maData.mnFlags = rStrm.ReaduInt16();
 
     const XclImpRoot& rRoot = rStrm.GetRoot();
     if( rRoot.GetBiff() == EXC_BIFF8 )
@@ -1257,7 +1275,7 @@ void XclImpChMarkerFormat::ReadChMarkerFormat( XclImpStream& rStrm )
         maData.maLineColor = rPal.GetColor( rStrm.ReaduInt16() );
         maData.maFillColor = rPal.GetColor( rStrm.ReaduInt16() );
         // marker size
-        rStrm >> maData.mnMarkerSize;
+        maData.mnMarkerSize = rStrm.ReaduInt32();
     }
 }
 
@@ -1301,7 +1319,7 @@ XclImpChPieFormat::XclImpChPieFormat() :
 
 void XclImpChPieFormat::ReadChPieFormat( XclImpStream& rStrm )
 {
-    rStrm >> mnPieDist;
+    mnPieDist = rStrm.ReaduInt16();
 }
 
 void XclImpChPieFormat::Convert( ScfPropertySet& rPropSet ) const
@@ -1317,12 +1335,13 @@ XclImpChSeriesFormat::XclImpChSeriesFormat() :
 
 void XclImpChSeriesFormat::ReadChSeriesFormat( XclImpStream& rStrm )
 {
-    rStrm >> mnFlags;
+    mnFlags = rStrm.ReaduInt16();
 }
 
 void XclImpCh3dDataFormat::ReadCh3dDataFormat( XclImpStream& rStrm )
 {
-    rStrm >> maData.mnBase >> maData.mnTop;
+    maData.mnBase = rStrm.ReaduInt8();
+    maData.mnTop = rStrm.ReaduInt8();
 }
 
 void XclImpCh3dDataFormat::Convert( ScfPropertySet& rPropSet ) const
@@ -1342,7 +1361,7 @@ XclImpChAttachedLabel::XclImpChAttachedLabel( const XclImpChRoot& rRoot ) :
 
 void XclImpChAttachedLabel::ReadChAttachedLabel( XclImpStream& rStrm )
 {
-    rStrm >> mnFlags;
+    mnFlags = rStrm.ReaduInt16();
 }
 
 XclImpChTextRef XclImpChAttachedLabel::CreateDataLabel( const XclImpChText* pParent ) const
@@ -1366,10 +1385,10 @@ XclImpChDataFormat::XclImpChDataFormat( const XclImpChRoot& rRoot ) :
 
 void XclImpChDataFormat::ReadHeaderRecord( XclImpStream& rStrm )
 {
-    rStrm   >> maData.maPointPos.mnPointIdx
-            >> maData.maPointPos.mnSeriesIdx
-            >> maData.mnFormatIdx
-            >> maData.mnFlags;
+    maData.maPointPos.mnPointIdx = rStrm.ReaduInt16();
+    maData.maPointPos.mnSeriesIdx = rStrm.ReaduInt16();
+    maData.mnFormatIdx = rStrm.ReaduInt16();
+    maData.mnFlags = rStrm.ReaduInt16();
 }
 
 void XclImpChDataFormat::ReadSubRecord( XclImpStream& rStrm )
@@ -1578,13 +1597,13 @@ XclImpChSerTrendLine::XclImpChSerTrendLine( const XclImpChRoot& rRoot ) :
 
 void XclImpChSerTrendLine::ReadChSerTrendLine( XclImpStream& rStrm )
 {
-    rStrm   >> maData.mnLineType
-            >> maData.mnOrder
-            >> maData.mfIntercept
-            >> maData.mnShowEquation
-            >> maData.mnShowRSquared
-            >> maData.mfForecastFor
-            >> maData.mfForecastBack;
+    maData.mnLineType = rStrm.ReaduInt8();
+    maData.mnOrder = rStrm.ReaduInt8();
+    maData.mfIntercept = rStrm.ReadDouble();
+    maData.mnShowEquation = rStrm.ReaduInt8();
+    maData.mnShowRSquared = rStrm.ReaduInt8();
+    maData.mfForecastFor = rStrm.ReadDouble();
+    maData.mfForecastBack = rStrm.ReadDouble();
 }
 
 Reference< XRegressionCurve > XclImpChSerTrendLine::CreateRegressionCurve() const
@@ -1664,9 +1683,12 @@ XclImpChSerErrorBar::XclImpChSerErrorBar( const XclImpChRoot& rRoot ) :
 
 void XclImpChSerErrorBar::ReadChSerErrorBar( XclImpStream& rStrm )
 {
-    rStrm >> maData.mnBarType >> maData.mnSourceType >> maData.mnLineEnd;
+    maData.mnBarType = rStrm.ReaduInt8();
+    maData.mnSourceType = rStrm.ReaduInt8();
+    maData.mnLineEnd = rStrm.ReaduInt8();
     rStrm.Ignore( 1 );
-    rStrm >> maData.mfValue >> maData.mnValueCount;
+    maData.mfValue = rStrm.ReadDouble();
+    maData.mnValueCount = rStrm.ReaduInt16();
 }
 
 void XclImpChSerErrorBar::SetSeriesData( XclImpChSourceLinkRef xValueLink, XclImpChDataFormatRef xDataFmt )
@@ -1766,9 +1788,15 @@ XclImpChSeries::XclImpChSeries( const XclImpChRoot& rRoot, sal_uInt16 nSeriesIdx
 
 void XclImpChSeries::ReadHeaderRecord( XclImpStream& rStrm )
 {
-    rStrm >> maData.mnCategType >> maData.mnValueType >> maData.mnCategCount >> maData.mnValueCount;
+    maData.mnCategType = rStrm.ReaduInt16();
+    maData.mnValueType = rStrm.ReaduInt16();
+    maData.mnCategCount = rStrm.ReaduInt16();
+    maData.mnValueCount = rStrm.ReaduInt16();
     if( GetBiff() == EXC_BIFF8 )
-        rStrm >> maData.mnBubbleType >> maData.mnBubbleCount;
+    {
+        maData.mnBubbleType = rStrm.ReaduInt16();
+        maData.mnBubbleCount = rStrm.ReaduInt16();
+    }
 }
 
 void XclImpChSeries::ReadSubRecord( XclImpStream& rStrm )
@@ -1782,7 +1810,7 @@ void XclImpChSeries::ReadSubRecord( XclImpStream& rStrm )
             ReadChDataFormat( rStrm );
         break;
         case EXC_ID_CHSERGROUP:
-            rStrm >> mnGroupIdx;
+            mnGroupIdx = rStrm.ReaduInt16();
         break;
         case EXC_ID_CHSERPARENT:
             ReadChSerParent( rStrm );
@@ -2093,7 +2121,7 @@ void XclImpChSeries::ReadChDataFormat( XclImpStream& rStrm )
 
 void XclImpChSeries::ReadChSerParent( XclImpStream& rStrm )
 {
-    rStrm >> mnParentIdx;
+    mnParentIdx = rStrm.ReaduInt16();
     // index to parent series is 1-based, convert it to 0-based
     if( mnParentIdx > 0 )
         --mnParentIdx;
@@ -2174,20 +2202,23 @@ void XclImpChType::ReadChType( XclImpStream& rStrm )
     switch( nRecId )
     {
         case EXC_ID_CHBAR:
-            rStrm >> maData.mnOverlap >> maData.mnGap >> maData.mnFlags;
+            maData.mnOverlap = rStrm.ReadInt16();
+            maData.mnGap = rStrm.ReadInt16();
+            maData.mnFlags = rStrm.ReaduInt16();
         break;
 
         case EXC_ID_CHLINE:
         case EXC_ID_CHAREA:
         case EXC_ID_CHRADARLINE:
         case EXC_ID_CHRADARAREA:
-            rStrm >> maData.mnFlags;
+            maData.mnFlags = rStrm.ReaduInt16();
         break;
 
         case EXC_ID_CHPIE:
-            rStrm >> maData.mnRotation >> maData.mnPieHole;
+            maData.mnRotation = rStrm.ReaduInt16();
+            maData.mnPieHole = rStrm.ReaduInt16();
             if( GetBiff() == EXC_BIFF8 )
-                rStrm >> maData.mnFlags;
+                maData.mnFlags = rStrm.ReaduInt16();
             else
                 maData.mnFlags = 0;
         break;
@@ -2200,13 +2231,17 @@ void XclImpChType::ReadChType( XclImpStream& rStrm )
 
         case EXC_ID_CHSCATTER:
             if( GetBiff() == EXC_BIFF8 )
-                rStrm >> maData.mnBubbleSize >> maData.mnBubbleType >> maData.mnFlags;
+            {
+                maData.mnBubbleSize = rStrm.ReaduInt16();
+                maData.mnBubbleType = rStrm.ReaduInt16();
+                maData.mnFlags = rStrm.ReaduInt16();
+            }
             else
                 maData.mnFlags = 0;
         break;
 
         case EXC_ID_CHSURFACE:
-            rStrm >> maData.mnFlags;
+            maData.mnFlags = rStrm.ReaduInt16();
         break;
 
         default:
@@ -2371,13 +2406,13 @@ Reference< XChartType > XclImpChType::CreateChartType( Reference< XDiagram > xDi
 
 void XclImpChChart3d::ReadChChart3d( XclImpStream& rStrm )
 {
-    rStrm   >> maData.mnRotation
-            >> maData.mnElevation
-            >> maData.mnEyeDist
-            >> maData.mnRelHeight
-            >> maData.mnRelDepth
-            >> maData.mnDepthGap
-            >> maData.mnFlags;
+    maData.mnRotation = rStrm.ReaduInt16();
+    maData.mnElevation = rStrm.ReadInt16();
+    maData.mnEyeDist = rStrm.ReaduInt16();
+    maData.mnRelHeight = rStrm.ReaduInt16();
+    maData.mnRelDepth = rStrm.ReaduInt16();
+    maData.mnDepthGap = rStrm.ReaduInt16();
+    maData.mnFlags = rStrm.ReaduInt16();
 }
 
 void XclImpChChart3d::Convert( ScfPropertySet& rPropSet, bool b3dWallChart ) const
@@ -2455,7 +2490,10 @@ XclImpChLegend::XclImpChLegend( const XclImpChRoot& rRoot ) :
 
 void XclImpChLegend::ReadHeaderRecord( XclImpStream& rStrm )
 {
-    rStrm >> maData.maRect >> maData.mnDockMode >> maData.mnSpacing >> maData.mnFlags;
+    rStrm >> maData.maRect;
+    maData.mnDockMode = rStrm.ReaduInt8();
+    maData.mnSpacing = rStrm.ReaduInt8();
+    maData.mnFlags = rStrm.ReaduInt16();
 
     // trace unsupported features
     if( GetTracer().IsEnabled() )
@@ -2593,7 +2631,7 @@ XclImpChDropBar::XclImpChDropBar( sal_uInt16 nDropBar ) :
 
 void XclImpChDropBar::ReadHeaderRecord( XclImpStream& rStrm )
 {
-    rStrm >> mnBarDist;
+    mnBarDist = rStrm.ReaduInt16();
 }
 
 void XclImpChDropBar::Convert( const XclImpChRoot& rRoot, ScfPropertySet& rPropSet ) const
@@ -2620,7 +2658,8 @@ XclImpChTypeGroup::XclImpChTypeGroup( const XclImpChRoot& rRoot ) :
 void XclImpChTypeGroup::ReadHeaderRecord( XclImpStream& rStrm )
 {
     rStrm.Ignore( 16 );
-    rStrm >> maData.mnFlags >> maData.mnGroupIdx;
+    maData.mnFlags = rStrm.ReaduInt16();
+    maData.mnGroupIdx = rStrm.ReaduInt16();
 }
 
 void XclImpChTypeGroup::ReadSubRecord( XclImpStream& rStrm )
@@ -2925,20 +2964,23 @@ XclImpChLabelRange::XclImpChLabelRange( const XclImpChRoot& rRoot ) :
 
 void XclImpChLabelRange::ReadChLabelRange( XclImpStream& rStrm )
 {
-    rStrm >> maLabelData.mnCross >> maLabelData.mnLabelFreq >> maLabelData.mnTickFreq >> maLabelData.mnFlags;
+    maLabelData.mnCross = rStrm.ReaduInt16();
+    maLabelData.mnLabelFreq = rStrm.ReaduInt16();
+    maLabelData.mnTickFreq = rStrm.ReaduInt16();
+    maLabelData.mnFlags = rStrm.ReaduInt16();
 }
 
 void XclImpChLabelRange::ReadChDateRange( XclImpStream& rStrm )
 {
-    rStrm   >> maDateData.mnMinDate
-            >> maDateData.mnMaxDate
-            >> maDateData.mnMajorStep
-            >> maDateData.mnMajorUnit
-            >> maDateData.mnMinorStep
-            >> maDateData.mnMinorUnit
-            >> maDateData.mnBaseUnit
-            >> maDateData.mnCross
-            >> maDateData.mnFlags;
+    maDateData.mnMinDate = rStrm.ReaduInt16();
+    maDateData.mnMaxDate = rStrm.ReaduInt16();
+    maDateData.mnMajorStep = rStrm.ReaduInt16();
+    maDateData.mnMajorUnit = rStrm.ReaduInt16();
+    maDateData.mnMinorStep = rStrm.ReaduInt16();
+    maDateData.mnMinorUnit = rStrm.ReaduInt16();
+    maDateData.mnBaseUnit = rStrm.ReaduInt16();
+    maDateData.mnCross = rStrm.ReaduInt16();
+    maDateData.mnFlags = rStrm.ReaduInt16();
 }
 
 void XclImpChLabelRange::Convert( ScfPropertySet& rPropSet, ScaleData& rScaleData, bool bMirrorOrient ) const
@@ -3022,12 +3064,12 @@ XclImpChValueRange::XclImpChValueRange( const XclImpChRoot& rRoot ) :
 
 void XclImpChValueRange::ReadChValueRange( XclImpStream& rStrm )
 {
-    rStrm   >> maData.mfMin
-            >> maData.mfMax
-            >> maData.mfMajorStep
-            >> maData.mfMinorStep
-            >> maData.mfCross
-            >> maData.mnFlags;
+    maData.mfMin = rStrm.ReadDouble();
+    maData.mfMax = rStrm.ReadDouble();
+    maData.mfMajorStep = rStrm.ReadDouble();
+    maData.mfMinorStep = rStrm.ReadDouble();
+    maData.mfCross = rStrm.ReadDouble();
+    maData.mnFlags = rStrm.ReaduInt16();
 }
 
 void XclImpChValueRange::Convert( ScaleData& rScaleData, bool bMirrorOrient ) const
@@ -3122,20 +3164,20 @@ XclImpChTick::XclImpChTick( const XclImpChRoot& rRoot ) :
 
 void XclImpChTick::ReadChTick( XclImpStream& rStrm )
 {
-    rStrm   >> maData.mnMajor
-            >> maData.mnMinor
-            >> maData.mnLabelPos
-            >> maData.mnBackMode;
+    maData.mnMajor = rStrm.ReaduInt8();
+    maData.mnMinor = rStrm.ReaduInt8();
+    maData.mnLabelPos = rStrm.ReaduInt8();
+    maData.mnBackMode = rStrm.ReaduInt8();
     rStrm.Ignore( 16 );
-    rStrm   >> maData.maTextColor
-            >> maData.mnFlags;
+    rStrm >> maData.maTextColor;
+    maData.mnFlags = rStrm.ReaduInt16();
 
     if( GetBiff() == EXC_BIFF8 )
     {
         // BIFF8: index into palette used instead of RGB data
         maData.maTextColor = GetPalette().GetColor( rStrm.ReaduInt16() );
         // rotation
-        rStrm >> maData.mnRotation;
+        maData.mnRotation = rStrm.ReaduInt16();
     }
     else
     {
@@ -3177,7 +3219,7 @@ XclImpChAxis::XclImpChAxis( const XclImpChRoot& rRoot, sal_uInt16 nAxisType ) :
 
 void XclImpChAxis::ReadHeaderRecord( XclImpStream& rStrm )
 {
-    rStrm >> maData.mnType;
+    maData.mnType = rStrm.ReaduInt16();
 }
 
 void XclImpChAxis::ReadSubRecord( XclImpStream& rStrm )
@@ -3198,7 +3240,7 @@ void XclImpChAxis::ReadSubRecord( XclImpStream& rStrm )
             mxValueRange->ReadChValueRange( rStrm );
         break;
         case EXC_ID_CHFORMAT:
-            rStrm >> mnNumFmtIdx;
+            mnNumFmtIdx = rStrm.ReaduInt16();
         break;
         case EXC_ID_CHTICK:
             mxTick.reset( new XclImpChTick( GetChRoot() ) );
@@ -3449,7 +3491,8 @@ XclImpChAxesSet::XclImpChAxesSet( const XclImpChRoot& rRoot, sal_uInt16 nAxesSet
 
 void XclImpChAxesSet::ReadHeaderRecord( XclImpStream& rStrm )
 {
-    rStrm >> maData.mnAxesSetId >> maData.maRect;
+    maData.mnAxesSetId = rStrm.ReaduInt16();
+    rStrm >> maData.maRect;
 }
 
 void XclImpChAxesSet::ReadSubRecord( XclImpStream& rStrm )
@@ -3989,7 +4032,8 @@ void XclImpChChart::ReadChSeries( XclImpStream& rStrm )
 
 void XclImpChChart::ReadChProperties( XclImpStream& rStrm )
 {
-    rStrm >> maProps.mnFlags >> maProps.mnEmptyMode;
+    maProps.mnFlags = rStrm.ReaduInt16();
+    maProps.mnEmptyMode = rStrm.ReaduInt8();
 }
 
 void XclImpChChart::ReadChAxesSet( XclImpStream& rStrm )
diff --git a/sc/source/filter/excel/xicontent.cxx b/sc/source/filter/excel/xicontent.cxx
index 1baf0e2..51e2f18 100644
--- a/sc/source/filter/excel/xicontent.cxx
+++ b/sc/source/filter/excel/xicontent.cxx
@@ -76,7 +76,7 @@ void XclImpSst::ReadSst( XclImpStream& rStrm )
 {
     rStrm.Ignore( 4 );
     sal_uInt32 nStrCount(0);
-    rStrm >> nStrCount;
+    nStrCount = rStrm.ReaduInt32();
     maStrings.clear();
     maStrings.reserve( static_cast< size_t >( nStrCount ) );
     while( (nStrCount > 0) && rStrm.IsValid() )
@@ -123,7 +123,7 @@ void lclAppendString32( OUString& rString, XclImpStream& rStrm, bool b16Bit )
 void lclIgnoreString32( XclImpStream& rStrm, bool b16Bit )
 {
     sal_uInt32 nChars(0);
-    rStrm >> nChars;
+    nChars = rStrm.ReaduInt32();
     if( b16Bit )
         nChars *= 2;
     rStrm.Ignore( nChars );
@@ -237,7 +237,7 @@ OUString XclImpHyperlink::ReadEmbeddedData( XclImpStream& rStrm )
     rStrm >> aGuid;
     rStrm.Ignore( 4 );
     sal_uInt32 nFlags(0);
-    rStrm >> nFlags;
+    nFlags = rStrm.ReaduInt32();
 
     OSL_ENSURE( aGuid == XclTools::maGuidStdLink, "XclImpHyperlink::ReadEmbeddedData - unknown header GUID" );
 
@@ -271,17 +271,17 @@ OUString XclImpHyperlink::ReadEmbeddedData( XclImpStream& rStrm )
         if( aGuid == XclTools::maGuidFileMoniker )
         {
             sal_uInt16 nLevel = 0; // counter for level to climb down in path
-            rStrm >> nLevel;
+            nLevel = rStrm.ReaduInt16();
             xShortName.reset( new OUString );
             lclAppendString32( *xShortName, rStrm, false );
             rStrm.Ignore( 24 );
 
             sal_uInt32 nStrLen = 0;
-            rStrm >> nStrLen;
+            nStrLen = rStrm.ReaduInt32();
             if( nStrLen )
             {
                 nStrLen = 0;
-                rStrm >> nStrLen;
+                nStrLen = rStrm.ReaduInt32();
                 nStrLen /= 2;       // it's byte count here...
                 rStrm.Ignore( 2 );
                 xLongName.reset( new OUString );
@@ -294,7 +294,7 @@ OUString XclImpHyperlink::ReadEmbeddedData( XclImpStream& rStrm )
         else if( aGuid == XclTools::maGuidUrlMoniker )
         {
             sal_uInt32 nStrLen(0);
-            rStrm >> nStrLen;
+            nStrLen = rStrm.ReaduInt32();
             nStrLen /= 2;       // it's byte count here...
             xLongName.reset( new OUString );
             lclAppendString32( *xLongName, rStrm, nStrLen, true );
@@ -489,7 +489,7 @@ void XclImpCondFormat::ReadCondfmt( XclImpStream& rStrm )
 {
     OSL_ENSURE( !mnCondCount, "XclImpCondFormat::ReadCondfmt - already initialized" );
     XclRangeList aXclRanges;
-    rStrm >> mnCondCount;
+    mnCondCount = rStrm.ReaduInt16();
     rStrm.Ignore( 10 );
     rStrm >> aXclRanges;
     GetAddressConverter().ConvertRangeList( maRanges, aXclRanges, GetCurrScTab(), true );
@@ -512,7 +512,12 @@ void XclImpCondFormat::ReadCF( XclImpStream& rStrm )
     sal_uInt32 nFlags(0);
     sal_uInt16 nFlagsExtended(0);
 
-    rStrm >> nType >> nOperator >> nFmlaSize1 >> nFmlaSize2 >> nFlags >> nFlagsExtended;
+    nType = rStrm.ReaduInt8();
+    nOperator = rStrm.ReaduInt8();
+    nFmlaSize1 = rStrm.ReaduInt16();
+    nFmlaSize2 = rStrm.ReaduInt16();
+    nFlags = rStrm.ReaduInt32();
+    nFlagsExtended = rStrm.ReaduInt16();
 
     // *** mode and comparison operator ***
 
@@ -578,7 +583,8 @@ void XclImpCondFormat::ReadCF( XclImpStream& rStrm )
         XclImpCellAlign aAlign;
         sal_uInt16 nAlign(0);
         sal_uInt16 nAlignMisc(0);
-        rStrm >> nAlign >> nAlignMisc;
+        nAlign = rStrm.ReaduInt16();
+        nAlignMisc = rStrm.ReaduInt16();
         aAlign.FillFromCF( nAlign, nAlignMisc );
         aAlign.FillToItemSet( rStyleItemSet, NULL );
         rStrm.Ignore(4);
@@ -590,7 +596,8 @@ void XclImpCondFormat::ReadCF( XclImpStream& rStrm )
     {
         sal_uInt16 nLineStyle(0);
         sal_uInt32 nLineColor(0);
-        rStrm >> nLineStyle >> nLineColor;
+        nLineStyle = rStrm.ReaduInt16();
+        nLineColor = rStrm.ReaduInt32();
         rStrm.Ignore( 2 );
 
         XclImpCellBorder aBorder;
@@ -603,7 +610,8 @@ void XclImpCondFormat::ReadCF( XclImpStream& rStrm )
     if( ::get_flag( nFlags, EXC_CF_BLOCK_AREA ) )
     {
         sal_uInt16 nPattern(0), nColor(0);
-        rStrm >> nPattern >> nColor;
+        nPattern = rStrm.ReaduInt16();
+        nColor = rStrm.ReaduInt16();
 
         XclImpCellArea aArea;
         aArea.FillFromCF8( nPattern, nColor, nFlags );
@@ -613,7 +621,7 @@ void XclImpCondFormat::ReadCF( XclImpStream& rStrm )
     if( get_flag( nFlags, EXC_CF_BLOCK_PROTECTION ) )
     {
         sal_uInt16 nCellProt;
-        rStrm >> nCellProt;
+        nCellProt = rStrm.ReaduInt16();
         XclImpCellProt aCellProt;
         aCellProt.FillFromXF3(nCellProt);
         aCellProt.FillToItemSet( rStyleItemSet );
@@ -718,7 +726,7 @@ void XclImpValidationManager::ReadDval( XclImpStream& rStrm )
 
     sal_uInt32 nObjId(0);
     rStrm.Ignore( 10 );
-    rStrm >> nObjId;
+    nObjId = rStrm.ReaduInt32();
     if( nObjId != EXC_DVAL_NOOBJ )
     {
         OSL_ENSURE( nObjId <= 0xFFFF, "XclImpValidation::ReadDval - invalid object ID" );
@@ -737,7 +745,7 @@ void XclImpValidationManager::ReadDV( XclImpStream& rStrm )
 
     // flags
     sal_uInt32 nFlags(0);
-    rStrm >> nFlags;
+    nFlags = rStrm.ReaduInt32();
 
     // message strings
     /*  Empty strings are single NUL characters in Excel (string length is 1).
@@ -760,7 +768,7 @@ void XclImpValidationManager::ReadDV( XclImpStream& rStrm )
     ::std::unique_ptr< ScTokenArray > xTokArr1;
 
     sal_uInt16 nLen = 0;
-    rStrm >> nLen;
+    nLen = rStrm.ReaduInt16();
     rStrm.Ignore( 2 );
     if( nLen > 0 )
     {
@@ -777,7 +785,7 @@ void XclImpValidationManager::ReadDV( XclImpStream& rStrm )
     ::std::unique_ptr< ScTokenArray > xTokArr2;
 
     nLen = 0;
-    rStrm >> nLen;
+    nLen = rStrm.ReaduInt16();
     rStrm.Ignore( 2 );
     if( nLen > 0 )
     {
@@ -932,9 +940,9 @@ void XclImpWebQuery::ReadWqsettings( XclImpStream& rStrm )
 {
     rStrm.Ignore( 10 );
     sal_uInt16 nFlags(0);
-    rStrm >> nFlags;
+    nFlags = rStrm.ReaduInt16();
     rStrm.Ignore( 10 );
-    rStrm >> mnRefresh;
+    mnRefresh = rStrm.ReaduInt16();
 
     if( ::get_flag( nFlags, EXC_WQSETT_SPECTABLES ) && (meMode == xlWQAllTables) )
         meMode = xlWQSpecTables;
@@ -1054,7 +1062,8 @@ XclImpDecrypterRef lclReadFilepass5( XclImpStream& rStrm )
     if( rStrm.GetRecLeft() == 4 )
     {
         sal_uInt16 nKey(0), nHash(0);
-        rStrm >> nKey >> nHash;
+        nKey = rStrm.ReaduInt16();
+        nHash = rStrm.ReaduInt16();
         xDecr.reset( new XclImpBiff5Decrypter( nKey, nHash ) );
     }
     return xDecr;
@@ -1088,7 +1097,7 @@ XclImpDecrypterRef lclReadFilepass8( XclImpStream& rStrm )
     XclImpDecrypterRef xDecr;
 
     sal_uInt16 nMode(0);
-    rStrm >> nMode;
+    nMode = rStrm.ReaduInt16();
     switch( nMode )
     {
         case EXC_FILEPASS_BIFF5:
@@ -1099,7 +1108,7 @@ XclImpDecrypterRef lclReadFilepass8( XclImpStream& rStrm )
         {
             rStrm.Ignore( 2 );
             sal_uInt16 nSubMode(0);
-            rStrm >> nSubMode;
+            nSubMode = rStrm.ReaduInt16();
             switch( nSubMode )
             {
                 case EXC_FILEPASS_BIFF8_STD:
@@ -1240,14 +1249,14 @@ void XclImpSheetProtectBuffer::ReadOptions( XclImpStream& rStrm, SCTAB nTab )
     // For enhanced protection data, the size is always 4.  For the most xls
     // documents out there this value is almost always -1.
     sal_Int32 nFlagSize(0);
-    rStrm >> nFlagSize;
+    nFlagSize = rStrm.ReadInt32();
     if (nFlagSize != -1)
         return;
 
     // There are actually 4 bytes to read, but the upper 2 bytes currently
     // don't store any bits.
     sal_uInt16 nOptions(0);
-    rStrm >> nOptions;
+    nOptions = rStrm.ReaduInt16();
 
     Sheet* pSheet = GetSheetItem(nTab);
     if (pSheet)
@@ -1264,7 +1273,7 @@ void XclImpSheetProtectBuffer::AppendEnhancedProtection( const ScEnhancedProtect
 void XclImpSheetProtectBuffer::ReadPasswordHash( XclImpStream& rStrm, SCTAB nTab )
 {
     sal_uInt16 nHash(0);
-    rStrm >> nHash;
+    nHash = rStrm.ReaduInt16();
     Sheet* pSheet = GetSheetItem(nTab);
     if (pSheet)
         pSheet->mnPasswordHash = nHash;
diff --git a/sc/source/filter/excel/xiescher.cxx b/sc/source/filter/excel/xiescher.cxx
index 276782c..b990a11 100644
--- a/sc/source/filter/excel/xiescher.cxx
+++ b/sc/source/filter/excel/xiescher.cxx
@@ -188,7 +188,7 @@ XclImpDrawObjRef XclImpDrawObjBase::ReadObj3( const XclImpRoot& rRoot, XclImpStr
     {
         sal_uInt16 nObjType;
         rStrm.Ignore( 4 );
-        rStrm >> nObjType;
+        nObjType = rStrm.ReaduInt16();
         switch( nObjType )
         {
             case EXC_OBJTYPE_GROUP:         xDrawObj.reset( new XclImpGroupObj( rRoot ) );          break;
@@ -220,7 +220,7 @@ XclImpDrawObjRef XclImpDrawObjBase::ReadObj4( const XclImpRoot& rRoot, XclImpStr
     {
         sal_uInt16 nObjType;
         rStrm.Ignore( 4 );
-        rStrm >> nObjType;
+        nObjType = rStrm.ReaduInt16();
         switch( nObjType )
         {
             case EXC_OBJTYPE_GROUP:         xDrawObj.reset( new XclImpGroupObj( rRoot ) );          break;
@@ -253,7 +253,7 @@ XclImpDrawObjRef XclImpDrawObjBase::ReadObj5( const XclImpRoot& rRoot, XclImpStr
     {
         sal_uInt16 nObjType(EXC_OBJTYPE_UNKNOWN);
         rStrm.Ignore( 4 );
-        rStrm >> nObjType;
+        nObjType = rStrm.ReaduInt16();
         switch( nObjType )
         {
             case EXC_OBJTYPE_GROUP:         xDrawObj.reset( new XclImpGroupObj( rRoot ) );          break;
@@ -300,7 +300,9 @@ XclImpDrawObjRef XclImpDrawObjBase::ReadObj8( const XclImpRoot& rRoot, XclImpStr
     if( rStrm.GetRecLeft() >= 10 )
     {
         sal_uInt16 nSubRecId(0), nSubRecSize(0), nObjType(0);
-        rStrm >> nSubRecId >> nSubRecSize >> nObjType;
+        nSubRecId = rStrm.ReaduInt16();
+        nSubRecSize = rStrm.ReaduInt16();
+        nObjType = rStrm.ReaduInt16();
         OSL_ENSURE( nSubRecId == EXC_ID_OBJCMO, "XclImpDrawObjBase::ReadObj8 - OBJCMO subrecord expected" );
         if( (nSubRecId == EXC_ID_OBJCMO) && (nSubRecSize >= 6) )
         {
@@ -587,14 +589,16 @@ void XclImpDrawObjBase::ReadMacro8( XclImpStream& rStrm )
     {
         // macro is stored in a tNameXR token containing a link to a defined name
         sal_uInt16 nFmlaSize;
-        rStrm >> nFmlaSize;
+        nFmlaSize = rStrm.ReaduInt16();
         rStrm.Ignore( 4 );
         OSL_ENSURE( nFmlaSize == 7, "XclImpDrawObjBase::ReadMacro - unexpected formula size" );
         if( nFmlaSize == 7 )
         {
             sal_uInt8 nTokenId;
             sal_uInt16 nExtSheet, nExtName;
-            rStrm >> nTokenId >> nExtSheet >> nExtName;
+            nTokenId = rStrm.ReaduInt8();
+            nExtSheet = rStrm.ReaduInt16();
+            nExtName = rStrm.ReaduInt16();
             OSL_ENSURE( nTokenId == XclTokenArrayHelper::GetTokenId( EXC_TOKID_NAMEX, EXC_TOKCLASS_REF ),
                 "XclImpDrawObjBase::ReadMacro - tNameXR token expected" );
             if( nTokenId == XclTokenArrayHelper::GetTokenId( EXC_TOKID_NAMEX, EXC_TOKCLASS_REF ) )
@@ -823,7 +827,11 @@ void XclImpDrawObjBase::ImplReadObj3( XclImpStream& rStrm )
     rStrm.Seek( 4 );
 
     sal_uInt16 nObjFlags, nMacroSize;
-    rStrm >> mnObjType >> mnObjId >> nObjFlags >> maAnchor >> nMacroSize;
+    mnObjType = rStrm.ReaduInt16();
+    mnObjId = rStrm.ReaduInt16();
+    nObjFlags = rStrm.ReaduInt16();
+    rStrm >> maAnchor;
+    nMacroSize = rStrm.ReaduInt16();
     rStrm.Ignore( 2 );
 
     mbHasAnchor = true;
@@ -838,7 +846,11 @@ void XclImpDrawObjBase::ImplReadObj4( XclImpStream& rStrm )
     rStrm.Seek( 4 );
 
     sal_uInt16 nObjFlags, nMacroSize;
-    rStrm >> mnObjType >> mnObjId >> nObjFlags >> maAnchor >> nMacroSize;
+    mnObjType = rStrm.ReaduInt16();
+    mnObjId = rStrm.ReaduInt16();
+    nObjFlags = rStrm.ReaduInt16();
+    rStrm >> maAnchor;
+    nMacroSize = rStrm.ReaduInt16();
     rStrm.Ignore( 2 );
 
     mbHasAnchor = true;
@@ -854,9 +866,13 @@ void XclImpDrawObjBase::ImplReadObj5( XclImpStream& rStrm )
     rStrm.Seek( 4 );
 
     sal_uInt16 nObjFlags, nMacroSize, nNameLen;
-    rStrm >> mnObjType >> mnObjId >> nObjFlags >> maAnchor >> nMacroSize;
+    mnObjType = rStrm.ReaduInt16();
+    mnObjId = rStrm.ReaduInt16();
+    nObjFlags = rStrm.ReaduInt16();
+    rStrm >> maAnchor;
+    nMacroSize = rStrm.ReaduInt16();
     rStrm.Ignore( 2 );
-    rStrm >> nNameLen;
+    nNameLen = rStrm.ReaduInt16();
     rStrm.Ignore( 2 );
 
     mbHasAnchor = true;
@@ -875,7 +891,8 @@ void XclImpDrawObjBase::ImplReadObj8( XclImpStream& rStrm )
     while( bLoop && (rStrm.GetRecLeft() >= 4) )
     {
         sal_uInt16 nSubRecId, nSubRecSize;
-        rStrm >> nSubRecId >> nSubRecSize;
+        nSubRecId = rStrm.ReaduInt16();
+        nSubRecSize = rStrm.ReaduInt16();
         rStrm.PushPosition();
         // sometimes the last subrecord has an invalid length (OBJLBSDATA) -> min()
         nSubRecSize = static_cast< sal_uInt16 >( ::std::min< sal_Size >( nSubRecSize, rStrm.GetRecLeft() ) );
@@ -887,7 +904,9 @@ void XclImpDrawObjBase::ImplReadObj8( XclImpStream& rStrm )
                 if( (rStrm.GetRecPos() == 4) && (nSubRecSize >= 6) )
                 {
                     sal_uInt16 nObjFlags;
-                    rStrm >> mnObjType >> mnObjId >> nObjFlags;
+                    mnObjType = rStrm.ReaduInt16();
+                    mnObjId = rStrm.ReaduInt16(  );
+                    nObjFlags = rStrm.ReaduInt16(  );
                     mbPrintable = ::get_flag( nObjFlags, EXC_OBJCMO_PRINTABLE );
                 }
             break;
@@ -920,7 +939,7 @@ void XclImpDrawObjBase::ImplReadObj8( XclImpStream& rStrm )
     {
         sal_uInt32 nDataSize;
         rStrm.Ignore( 4 );
-        rStrm >> nDataSize;
+        nDataSize = rStrm.ReaduInt32();
         nDataSize -= rStrm.GetRecLeft();
         // skip following CONTINUE records until IMGDATA ends
         while( (nDataSize > 0) && (rStrm.GetNextRecId() == EXC_ID_CONT) && rStrm.StartNextRecord() )
@@ -974,7 +993,7 @@ bool XclImpGroupObj::TryInsert( XclImpDrawObjRef xDrawObj )
 void XclImpGroupObj::DoReadObj3( XclImpStream& rStrm, sal_uInt16 nMacroSize )
 {
     rStrm.Ignore( 4 );
-    rStrm >> mnFirstUngrouped;
+    mnFirstUngrouped = rStrm.ReaduInt16();
     rStrm.Ignore( 16 );
     ReadMacro3( rStrm, nMacroSize );
 }
@@ -982,7 +1001,7 @@ void XclImpGroupObj::DoReadObj3( XclImpStream& rStrm, sal_uInt16 nMacroSize )
 void XclImpGroupObj::DoReadObj4( XclImpStream& rStrm, sal_uInt16 nMacroSize )
 {
     rStrm.Ignore( 4 );
-    rStrm >> mnFirstUngrouped;
+    mnFirstUngrouped = rStrm.ReaduInt16();
     rStrm.Ignore( 16 );
     ReadMacro4( rStrm, nMacroSize );
 }
@@ -990,7 +1009,7 @@ void XclImpGroupObj::DoReadObj4( XclImpStream& rStrm, sal_uInt16 nMacroSize )
 void XclImpGroupObj::DoReadObj5( XclImpStream& rStrm, sal_uInt16 nNameLen, sal_uInt16 nMacroSize )
 {
     rStrm.Ignore( 4 );
-    rStrm >> mnFirstUngrouped;
+    mnFirstUngrouped = rStrm.ReaduInt16();
     rStrm.Ignore( 16 );
     ReadName5( rStrm, nNameLen );
     ReadMacro5( rStrm, nMacroSize );
@@ -1022,21 +1041,27 @@ XclImpLineObj::XclImpLineObj( const XclImpRoot& rRoot ) :
 
 void XclImpLineObj::DoReadObj3( XclImpStream& rStrm, sal_uInt16 nMacroSize )
 {
-    rStrm >> maLineData >> mnArrows >> mnStartPoint;
+    rStrm >> maLineData;
+    mnArrows = rStrm.ReaduInt16();
+    mnStartPoint = rStrm.ReaduInt8();
     rStrm.Ignore( 1 );
     ReadMacro3( rStrm, nMacroSize );
 }
 
 void XclImpLineObj::DoReadObj4( XclImpStream& rStrm, sal_uInt16 nMacroSize )
 {
-    rStrm >> maLineData >> mnArrows >> mnStartPoint;
+    rStrm >> maLineData;
+    mnArrows = rStrm.ReaduInt16();
+    mnStartPoint = rStrm.ReaduInt8();
     rStrm.Ignore( 1 );
     ReadMacro4( rStrm, nMacroSize );
 }
 
 void XclImpLineObj::DoReadObj5( XclImpStream& rStrm, sal_uInt16 nNameLen, sal_uInt16 nMacroSize )
 {
-    rStrm >> maLineData >> mnArrows >> mnStartPoint;
+    rStrm >> maLineData;
+    mnArrows = rStrm.ReaduInt16();
+    mnStartPoint = rStrm.ReaduInt8();
     rStrm.Ignore( 1 );
     ReadName5( rStrm, nNameLen );
     ReadMacro5( rStrm, nMacroSize );
@@ -1148,7 +1173,8 @@ XclImpRectObj::XclImpRectObj( const XclImpRoot& rRoot ) :
 
 void XclImpRectObj::ReadFrameData( XclImpStream& rStrm )
 {
-    rStrm >> maFillData >> maLineData >> mnFrameFlags;
+    rStrm >> maFillData >> maLineData;
+    mnFrameFlags = rStrm.ReaduInt16();
 }
 
 void XclImpRectObj::ConvertRectStyle( SdrObject& rSdrObj ) const
@@ -1207,21 +1233,24 @@ XclImpArcObj::XclImpArcObj( const XclImpRoot& rRoot ) :
 
 void XclImpArcObj::DoReadObj3( XclImpStream& rStrm, sal_uInt16 nMacroSize )
 {
-    rStrm >> maFillData >> maLineData >> mnQuadrant;
+    rStrm >> maFillData >> maLineData;
+    mnQuadrant = rStrm.ReaduInt8();
     rStrm.Ignore( 1 );
     ReadMacro3( rStrm, nMacroSize );
 }
 
 void XclImpArcObj::DoReadObj4( XclImpStream& rStrm, sal_uInt16 nMacroSize )
 {
-    rStrm >> maFillData >> maLineData >> mnQuadrant;
+    rStrm >> maFillData >> maLineData;
+    mnQuadrant  = rStrm.ReaduInt8();
     rStrm.Ignore( 1 );
     ReadMacro4( rStrm, nMacroSize );
 }
 
 void XclImpArcObj::DoReadObj5( XclImpStream& rStrm, sal_uInt16 nNameLen, sal_uInt16 nMacroSize )
 {
-    rStrm >> maFillData >> maLineData >> mnQuadrant;
+    rStrm >> maFillData >> maLineData;
+    mnQuadrant = rStrm.ReaduInt8();
     rStrm.Ignore( 1 );
     ReadName5( rStrm, nNameLen );
     ReadMacro5( rStrm, nMacroSize );
@@ -1284,7 +1313,8 @@ void XclImpPolygonObj::ReadCoordList( XclImpStream& rStrm )
         while( rStrm.GetRecLeft() >= 4 )
         {
             sal_uInt16 nX, nY;
-            rStrm >> nX >> nY;
+            nX = rStrm.ReaduInt16();
+            nY = rStrm.ReaduInt16();
             maCoords.push_back( Point( nX, nY ) );
         }
     }
@@ -1293,9 +1323,9 @@ void XclImpPolygonObj::ReadCoordList( XclImpStream& rStrm )
 void XclImpPolygonObj::DoReadObj4( XclImpStream& rStrm, sal_uInt16 nMacroSize )
 {
     ReadFrameData( rStrm );
-    rStrm >> mnPolyFlags;
+    mnPolyFlags = rStrm.ReaduInt16();
     rStrm.Ignore( 10 );
-    rStrm >> mnPointCount;
+    mnPointCount = rStrm.ReaduInt16();
     rStrm.Ignore( 8 );
     ReadMacro4( rStrm, nMacroSize );
     ReadCoordList( rStrm );
@@ -1304,9 +1334,9 @@ void XclImpPolygonObj::DoReadObj4( XclImpStream& rStrm, sal_uInt16 nMacroSize )
 void XclImpPolygonObj::DoReadObj5( XclImpStream& rStrm, sal_uInt16 nNameLen, sal_uInt16 nMacroSize )
 {
     ReadFrameData( rStrm );
-    rStrm >> mnPolyFlags;
+    mnPolyFlags = rStrm.ReaduInt16();
     rStrm.Ignore( 10 );
-    rStrm >> mnPointCount;
+    mnPointCount = rStrm.ReaduInt16();
     rStrm.Ignore( 8 );
     ReadName5( rStrm, nNameLen );
     ReadMacro5( rStrm, nMacroSize );
@@ -1593,7 +1623,7 @@ void XclImpChartObj::ReadChartSubStream( XclImpStream& rStrm )
         {
             sal_uInt16 nBofType;
             rStrm.Seek( 2 );
-            rStrm >> nBofType;
+            nBofType = rStrm.ReaduInt16();
             DBG_ASSERT( nBofType == EXC_BOF_CHART, "XclImpChartObj::ReadChartSubStream - no chart BOF record" );
         }
         else
@@ -1941,7 +1971,7 @@ void XclImpControlHelper::ReadRangeList( ScRangeList& rScRanges, XclImpStream& r
     if( bWithBoundSize )
     {
         sal_uInt16 nSize;
-        rStrm >> nSize;
+        nSize = rStrm.ReaduInt16();
         if( nSize > 0 )
         {
             rStrm.PushPosition();
@@ -2123,14 +2153,17 @@ void XclImpCheckBoxObj::DoReadObj5( XclImpStream& rStrm, sal_uInt16 nNameLen, sa
 {
     ReadFrameData( rStrm );
     rStrm.Ignore( 10 );
-    rStrm >> maTextData.maData.mnFlags;
+    maTextData.maData.mnFlags = rStrm.ReaduInt16();
     rStrm.Ignore( 20 );
     ReadName5( rStrm, nNameLen );
     ReadMacro5( rStrm, rStrm.ReaduInt16() );   // fist macro size invalid and unused
     ReadCellLinkFormula( rStrm, true );
-    rStrm >> maTextData.maData.mnTextLen;
+    maTextData.maData.mnTextLen = rStrm.ReaduInt16();
     maTextData.ReadByteString( rStrm );
-    rStrm >> mnState >> maTextData.maData.mnShortcut >> maTextData.maData.mnShortcutEA >> mnCheckBoxFlags;
+    mnState = rStrm.ReaduInt16();
+    maTextData.maData.mnShortcut = rStrm.ReaduInt16();
+    maTextData.maData.mnShortcutEA = rStrm.ReaduInt16();

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list