diff options
Diffstat (limited to 'sc/source/filter/excel/excdoc.cxx')
-rw-r--r-- | sc/source/filter/excel/excdoc.cxx | 36 |
1 files changed, 12 insertions, 24 deletions
diff --git a/sc/source/filter/excel/excdoc.cxx b/sc/source/filter/excel/excdoc.cxx index b5e0f25f516c..bba1543dd403 100644 --- a/sc/source/filter/excel/excdoc.cxx +++ b/sc/source/filter/excel/excdoc.cxx @@ -200,8 +200,6 @@ void ExcTable::FillAsHeader( ExcBoundsheetList& rBoundsheetList ) UINT16 nExcTabCount = rTabInfo.GetXclTabCount(); UINT16 nCodenames = static_cast< UINT16 >( GetExtDocOptions().GetCodeNameCount() ); - rR.pObjRecs = NULL; // per sheet - sal_uInt16 nWriteProtHash = 0; if( SfxObjectShell* pDocShell = GetDocShell() ) { @@ -416,7 +414,7 @@ void ExcTable::FillAsHeader( ExcBoundsheetList& rBoundsheetList ) Add( new XclExpRecalcId ); // MSODRAWINGGROUP per-document data - Add( new XclMsodrawinggroup( rR, ESCHER_DggContainer ) ); + aRecList.AppendRecord( GetObjectManager().CreateDrawingGroup() ); // Shared string table: SST, EXTSST aRecList.AppendRecord( CreateRecord( EXC_ID_SST ) ); @@ -438,9 +436,8 @@ void ExcTable::FillAsTable( size_t nCodeNameIdx ) DBG_ASSERT( (mnScTab >= 0L) && (mnScTab <= MAXTAB), "-ExcTable::Table(): mnScTab - no ordinary table!" ); DBG_ASSERT( nExcTab <= static_cast<sal_uInt16>(MAXTAB), "-ExcTable::Table(): nExcTab - no ordinary table!" ); - if ( eBiff == EXC_BIFF8 ) - // list holding OBJ records and creating MSODRAWING per-sheet data - rR.pObjRecs = new XclObjList( GetRoot() ); + // create a new OBJ list for this sheet (may be used by notes, autofilter, data validation) + GetObjectManager().StartSheet(); // cell table: DEFROWHEIGHT, DEFCOLWIDTH, COLINFO, DIMENSIONS, ROW, cell records mxCellTable.reset( new XclExpCellTable( GetRoot() ) ); @@ -512,13 +509,8 @@ void ExcTable::FillAsTable( size_t nCodeNameIdx ) if( eBiff == EXC_BIFF8 ) { - rR.pEscher->AddSdrPage(); - //! close Escher group shape and ESCHER_DgContainer - //! opened by XclObjList ctor MSODRAWING - rR.pObjRecs->EndSheet(); // all MSODRAWING and OBJ stuff of this sheet goes here - Add( rR.pObjRecs ); - + aRecList.AppendRecord( GetObjectManager().ProcessDrawing( GetSdrPage( mnScTab ) ) ); // pivot tables aRecList.AppendRecord( GetPivotTableManager().CreatePivotTablesRecord( mnScTab ) ); } @@ -590,12 +582,13 @@ void ExcTable::FillAsXmlTable( size_t nCodeNameIdx ) // label ranges Add( new XclExpLabelranges( GetRoot() ) ); - rR.pEscher->AddSdrPage(); - //! close Escher group shape and ESCHER_DgContainer - //! opened by XclObjList ctor MSODRAWING - rR.pObjRecs->EndSheet(); - // all MSODRAWING and OBJ stuff of this sheet goes here - Add( rR.pObjRecs ); + // DFF not needed in MSOOXML export +// GetObjectManager().AddSdrPage(); +// //! close Escher group shape and ESCHER_DgContainer +// //! opened by XclExpObjList ctor MSODRAWING +// rR.pObjRecs->EndSheet(); +// // all MSODRAWING and OBJ stuff of this sheet goes here +// Add( rR.pObjRecs ); // pivot tables aRecList.AppendRecord( GetPivotTableManager().CreatePivotTablesRecord( mnScTab ) ); @@ -756,7 +749,7 @@ void ExcDocument::ReadDoc( void ) if ( GetBiff() == EXC_BIFF8 ) { // complete temporary Escher stream - GetOldRoot().pEscher->GetEx()->EndDocument(); + GetObjectManager().EndDocument(); // change tracking if ( GetDoc().GetChangeTrack() ) @@ -771,9 +764,6 @@ void ExcDocument::Write( SvStream& rSvStrm ) { InitializeSave(); - if ( GetBiff() == EXC_BIFF8 ) - GetOldRoot().pEscher->GetStrm().Seek(0); // ready for take off - XclExpStream aXclStrm( rSvStrm, GetRoot() ); aHeader.Write( aXclStrm ); @@ -807,8 +797,6 @@ void ExcDocument::WriteXml( SvStream& rStrm ) XclExpXmlStream aStrm( ::comphelper::getProcessServiceFactory(), rStrm, GetRoot() ); - GetOldRoot().pEscher->GetStrm().Seek(0); // ready for take off - sax_fastparser::FSHelperPtr& rWorkbook = aStrm.GetCurrentStream(); rWorkbook->startElement( XML_workbook, XML_xmlns, "http://schemas.openxmlformats.org/spreadsheetml/2006/main", |