Bugzilla – Attachment 141993 Details for
Bug 113991
Named ranges without sheet reference are exported as corrupted XLS(X)
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
XLS patch: missing piece that enables global emulation to work for XLS
tdf113991_globalXLS.patch (text/plain), 25.81 KB, created by
Justin L
on 2018-05-09 06:08:56 UTC
(
hide
)
Description:
XLS patch: missing piece that enables global emulation to work for XLS
Filename:
MIME Type:
Creator:
Justin L
Created:
2018-05-09 06:08:56 UTC
Size:
25.81 KB
patch
obsolete
>From c1e2e37938a5034b308313e178da0663e9fce665 Mon Sep 17 00:00:00 2001 >From: Justin Luth <justin_luth@sil.org> >Date: Wed, 9 May 2018 08:38:36 +0300 >Subject: [PATCH] tdf#113991 XLS export: emulate relative GLOBAL named ranges > >Most of the work to emulate was done in a prior patch, which >was sufficient for XLSX. These changes make it work for XLS also. > >Change-Id: Idc9938705445cc37689d6b0fe4354844e1bc3ac1 >--- > .../data/ods/tdf113991_relativeNamedRanges.ods | Bin 9069 -> 9885 bytes > sc/qa/unit/subsequent_export-test.cxx | 5 ++ > sc/source/filter/excel/xeformula.cxx | 2 +- > sc/source/filter/excel/xename.cxx | 68 +++++++++++---------- > sc/source/filter/inc/xename.hxx | 2 +- > 5 files changed, 42 insertions(+), 35 deletions(-) > >diff --git a/sc/qa/unit/data/ods/tdf113991_relativeNamedRanges.ods b/sc/qa/unit/data/ods/tdf113991_relativeNamedRanges.ods >index c039a40917d84d8b763859d1ed9bf97f1ed4cbff..8764e5b32b7b569602b25a6cfe09582940a183db 100644 >GIT binary patch >delta 7951 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 >X1|9&w{a0Ki6cAx*dPFL!-_rjBn1t)- > >delta 7032 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 >AB>(^b > >diff --git a/sc/qa/unit/subsequent_export-test.cxx b/sc/qa/unit/subsequent_export-test.cxx >index 8449197..d393b46 100644 >--- a/sc/qa/unit/subsequent_export-test.cxx >+++ b/sc/qa/unit/subsequent_export-test.cxx >@@ -3364,6 +3364,11 @@ void ScExportTest::testRelativeNamedExpressionsXLS() > ScAddress aPos(5,5,1); > CPPUNIT_ASSERT_EQUAL(18.0, rDoc.GetValue(aPos)); > ASSERT_FORMULA_EQUAL(rDoc, aPos, "SUM(test_conflict)", nullptr); >+ >+ // Sheet2:H6 >+ aPos = ScAddress(7,5,1); >+ CPPUNIT_ASSERT_EQUAL(75.0, rDoc.GetValue(aPos)); >+ ASSERT_FORMULA_EQUAL(rDoc, aPos, "SUM(A6:F6)", nullptr); > xDocSh2->DoClose(); > } > >diff --git a/sc/source/filter/excel/xeformula.cxx b/sc/source/filter/excel/xeformula.cxx >index 3cd1bd9..dc3297c 100644 >--- a/sc/source/filter/excel/xeformula.cxx >+++ b/sc/source/filter/excel/xeformula.cxx >@@ -2089,7 +2089,7 @@ void XclExpFmlaCompImpl::ProcessDefinedName( const XclExpScToken& rTokData ) > SCTAB nTab = (nSheet < 0 ? SCTAB_GLOBAL : nSheet); > > XclExpNameManager& rNameMgr = GetNameManager(); >- sal_uInt16 nNameIdx = rNameMgr.InsertName(nTab, rTokData.mpScToken->GetIndex()); >+ sal_uInt16 nNameIdx = rNameMgr.InsertName(nTab, rTokData.mpScToken->GetIndex(), GetCurrScTab()); > if( nNameIdx != 0 ) > { > // global names always with tName token, local names dependent on config >diff --git a/sc/source/filter/excel/xename.cxx b/sc/source/filter/excel/xename.cxx >index d548a6b..2c02afb 100644 >--- a/sc/source/filter/excel/xename.cxx >+++ b/sc/source/filter/excel/xename.cxx >@@ -115,7 +115,7 @@ public: > void Initialize(); > > /** Inserts the Calc name with the passed index and returns the Excel NAME index. */ >- sal_uInt16 InsertName( SCTAB nTab, sal_uInt16 nScNameIdx ); >+ sal_uInt16 InsertName( SCTAB nTab, sal_uInt16 nScNameIdx, SCTAB nCurrTab ); > > /** Inserts a new built-in defined name. */ > sal_uInt16 InsertBuiltInName( sal_Unicode cBuiltIn, const XclTokenArrayRef& xTokArr, SCTAB nScTab, const ScRangeList& aRangeList ); >@@ -335,6 +335,34 @@ void XclExpName::WriteBody( XclExpStream& rStrm ) > mxTokArr->WriteArray( rStrm ); // token array without size > } > >+/** Returns true if defined name was not 3D. Fixes local defined names, but only reports for SCTAB_GLOBAL. */ >+bool lcl_Ensure3DNamedRange( SCTAB nTab, const ScTokenArray* pScTokArr ) >+{ >+ bool bFixRequired = false; >+ if ( !pScTokArr ) >+ return bFixRequired; >+ >+ formula::FormulaToken* pTok = pScTokArr->FirstToken(); >+ if ( pTok && pTok->GetType() == formula::svDoubleRef ) >+ { >+ ScComplexRefData* pRef = pTok->GetDoubleRef(); >+ if ( pRef && ( !pRef->Ref1.IsFlag3D() || !pRef->Ref2.IsFlag3D() ) ) >+ { >+ bFixRequired = true; >+ if ( nTab != SCTAB_GLOBAL ) >+ { >+ pRef->Ref1.SetFlag3D( true ); //XLSX fix >+ pRef->Ref2.SetFlag3D( true ); >+ if ( pRef->Ref1.IsTabRel() ) >+ pRef->Ref1.SetAbsTab( nTab + pRef->Ref1.Tab() ); //XLS fix >+ if ( pRef->Ref2.IsTabRel() ) >+ pRef->Ref2.SetAbsTab( nTab + pRef->Ref2.Tab() ); >+ } >+ } >+ } >+ return bFixRequired; >+} >+ > XclExpNameManagerImpl::XclExpNameManagerImpl( const XclExpRoot& rRoot ) : > XclExpRoot( rRoot ), > mnFirstUserIdx( 0 ) >@@ -348,7 +376,7 @@ void XclExpNameManagerImpl::Initialize() > CreateUserNames(); > } > >-sal_uInt16 XclExpNameManagerImpl::InsertName( SCTAB nTab, sal_uInt16 nScNameIdx ) >+sal_uInt16 XclExpNameManagerImpl::InsertName( SCTAB nTab, sal_uInt16 nScNameIdx, SCTAB nCurrTab ) > { > sal_uInt16 nNameIdx = 0; > const ScRangeData* pData = nullptr; >@@ -358,7 +386,9 @@ sal_uInt16 XclExpNameManagerImpl::InsertName( SCTAB nTab, sal_uInt16 nScNameIdx > > if (pData) > { >- nNameIdx = FindNamedExp( nTab, pData->GetName() ); >+ // Ensuring 3D for export: safe to use here without a copy of GetCode() ONLY IF SCTAB_GLOBAL >+ const bool bEmulatedEntry = (nTab == SCTAB_GLOBAL) && lcl_Ensure3DNamedRange(nTab, pData->GetCode()); >+ nNameIdx = FindNamedExp( bEmulatedEntry ? nCurrTab : nTab, pData->GetName() ); > if (!nNameIdx) > nNameIdx = CreateName(nTab, *pData); > } >@@ -525,34 +555,6 @@ sal_uInt16 XclExpNameManagerImpl::Append( const XclExpNameRef& xName ) > return static_cast< sal_uInt16 >( maNameList.GetSize() ); // 1-based > } > >-/** Returns true if defined name was not 3D. Fixes local defined names, but only reports for SCTAB_GLOBAL. */ >-bool lcl_Ensure3DNamedRange( SCTAB nTab, const ScTokenArray* pScTokArr ) >-{ >- bool bFixRequired = false; >- if ( !pScTokArr ) >- return bFixRequired; >- >- formula::FormulaToken* pTok = pScTokArr->FirstToken(); >- if ( pTok && pTok->GetType() == formula::svDoubleRef ) >- { >- ScComplexRefData* pRef = pTok->GetDoubleRef(); >- if ( pRef && ( !pRef->Ref1.IsFlag3D() || !pRef->Ref2.IsFlag3D() ) ) >- { >- bFixRequired = true; >- if ( nTab != SCTAB_GLOBAL ) >- { >- pRef->Ref1.SetFlag3D( true ); //XLSX fix >- pRef->Ref2.SetFlag3D( true ); >- if ( pRef->Ref1.IsTabRel() ) >- pRef->Ref1.SetAbsTab( nTab + pRef->Ref1.Tab() ); //XLS fix >- if ( pRef->Ref2.IsTabRel() ) >- pRef->Ref2.SetAbsTab( nTab + pRef->Ref2.Tab() ); >- } >- } >- } >- return bFixRequired; >-} >- > sal_uInt16 XclExpNameManagerImpl::CreateName( SCTAB nTab, const ScRangeData& rRangeData ) > { > const OUString& rName = rRangeData.GetName(); >@@ -730,9 +732,9 @@ void XclExpNameManager::Initialize() > mxImpl->Initialize(); > } > >-sal_uInt16 XclExpNameManager::InsertName( SCTAB nTab, sal_uInt16 nScNameIdx ) >+sal_uInt16 XclExpNameManager::InsertName( SCTAB nTab, sal_uInt16 nScNameIdx, SCTAB nCurrTab ) > { >- return mxImpl->InsertName( nTab, nScNameIdx ); >+ return mxImpl->InsertName( nTab, nScNameIdx, nCurrTab ); > } > > sal_uInt16 XclExpNameManager::InsertBuiltInName( sal_Unicode cBuiltIn, const ScRange& rRange ) >diff --git a/sc/source/filter/inc/xename.hxx b/sc/source/filter/inc/xename.hxx >index e1a3ba9..a0bb336 100644 >--- a/sc/source/filter/inc/xename.hxx >+++ b/sc/source/filter/inc/xename.hxx >@@ -40,7 +40,7 @@ public: > void Initialize(); > > /** Inserts the Calc name with the passed index and returns the Excel NAME index. */ >- sal_uInt16 InsertName( SCTAB nTab, sal_uInt16 nScNameIdx ); >+ sal_uInt16 InsertName( SCTAB nTab, sal_uInt16 nScNameIdx, SCTAB nCurrTab ); > > /** Inserts a new built-in defined name, referring to the passed sheet range. */ > sal_uInt16 InsertBuiltInName( sal_Unicode cBuiltIn, const ScRange& rRange ); >-- >2.7.4 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 113991
:
137914
|
137915
|
141868
|
141971
| 141993