oox/source/token/tokens.txt | 1 + sc/source/filter/excel/excdoc.cxx | 11 ++++++++--- sc/source/filter/excel/xeextlst.cxx | 4 +++- sc/source/filter/oox/extlstcontext.cxx | 11 +++++++---- 4 files changed, 19 insertions(+), 8 deletions(-)
New commits: commit fe88fe6f828597fe2645a20c1a07716216a810c3 Author: Katarina Behrens <katarina.behr...@cib.de> Date: Fri Jul 24 14:46:26 2015 +0200 tdf#92256: Make OOXML filter CONV_A1_XL_A1 aware too + don't write string ref syntax if it hasn't been read or explicitly changed Change-Id: Id3788a71a4a3d0672283a4770c7d7a9608beb06f Reviewed-on: https://gerrit.libreoffice.org/17326 Reviewed-by: Markus Mohrhard <markus.mohrh...@googlemail.com> Tested-by: Markus Mohrhard <markus.mohrh...@googlemail.com> diff --git a/oox/source/token/tokens.txt b/oox/source/token/tokens.txt index 1ed1681..c5843fa 100644 --- a/oox/source/token/tokens.txt +++ b/oox/source/token/tokens.txt @@ -70,6 +70,7 @@ Broadcaster Button CF CalcA1 +CalcA1ExcelA1 Camera Cancel Caption diff --git a/sc/source/filter/excel/excdoc.cxx b/sc/source/filter/excel/excdoc.cxx index de983b4..a591402 100644 --- a/sc/source/filter/excel/excdoc.cxx +++ b/sc/source/filter/excel/excdoc.cxx @@ -881,10 +881,15 @@ void ExcDocument::WriteXml( XclExpXmlStream& rStrm ) if (rCaches.HasCaches()) rCaches.SaveXml(rStrm); - XclExtLstRef xExtLst( new XclExtLst( GetRoot() ) ); const ScCalcConfig& rCalcConfig = GetDoc().GetCalcConfig(); - xExtLst->AddRecord( XclExpExtRef( new XclExpExtCalcPr( GetRoot(), rCalcConfig.meStringRefAddressSyntax )) ); - xExtLst->SaveXml(rStrm); + + // don't write if it hasn't been read or explicitly changed + if ( rCalcConfig.mbHasStringRefSyntax ) + { + XclExtLstRef xExtLst( new XclExtLst( GetRoot() ) ); + xExtLst->AddRecord( XclExpExtRef( new XclExpExtCalcPr( GetRoot(), rCalcConfig.meStringRefAddressSyntax )) ); + xExtLst->SaveXml(rStrm); + } rWorkbook->endElement( XML_workbook ); rWorkbook.reset(); diff --git a/sc/source/filter/excel/xeextlst.cxx b/sc/source/filter/excel/xeextlst.cxx index 6982ec3..b6c7818 100644 --- a/sc/source/filter/excel/xeextlst.cxx +++ b/sc/source/filter/excel/xeextlst.cxx @@ -378,12 +378,14 @@ XclExpExtCalcPr::XclExpExtCalcPr( const XclExpRoot& rRoot, formula::FormulaGramm case formula::FormulaGrammar::CONV_XL_R1C1: maSyntax = OString("ExcelR1C1"); break; + case formula::FormulaGrammar::CONV_A1_XL_A1: + maSyntax = OString("CalcA1ExcelA1"); + break; case formula::FormulaGrammar::CONV_UNSPECIFIED: case formula::FormulaGrammar::CONV_ODF: case formula::FormulaGrammar::CONV_XL_OOX: case formula::FormulaGrammar::CONV_LOTUS_A1: case formula::FormulaGrammar::CONV_LAST: - case formula::FormulaGrammar::CONV_A1_XL_A1: maSyntax = OString("Unspecified"); break; } diff --git a/sc/source/filter/oox/extlstcontext.cxx b/sc/source/filter/oox/extlstcontext.cxx index 81590b4..f0980d5 100644 --- a/sc/source/filter/oox/extlstcontext.cxx +++ b/sc/source/filter/oox/extlstcontext.cxx @@ -265,16 +265,19 @@ ContextHandlerRef ExtGlobalWorkbookContext::onCreateContext( sal_Int32 nElement, switch( nToken ) { case XML_CalcA1: - aCalcConfig.meStringRefAddressSyntax = formula::FormulaGrammar::CONV_OOO; + aCalcConfig.SetStringRefSyntax( formula::FormulaGrammar::CONV_OOO ); break; case XML_ExcelA1: - aCalcConfig.meStringRefAddressSyntax = formula::FormulaGrammar::CONV_XL_A1; + aCalcConfig.SetStringRefSyntax( formula::FormulaGrammar::CONV_XL_A1 ); break; case XML_ExcelR1C1: - aCalcConfig.meStringRefAddressSyntax = formula::FormulaGrammar::CONV_XL_R1C1; + aCalcConfig.SetStringRefSyntax( formula::FormulaGrammar::CONV_XL_R1C1 ); + break; + case XML_CalcA1ExcelA1: + aCalcConfig.SetStringRefSyntax( formula::FormulaGrammar::CONV_A1_XL_A1 ); break; default: - aCalcConfig.meStringRefAddressSyntax = formula::FormulaGrammar::CONV_UNSPECIFIED; + aCalcConfig.SetStringRefSyntax( formula::FormulaGrammar::CONV_UNSPECIFIED ); break; } pDoc->SetCalcConfig(aCalcConfig); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits