sc/source/filter/excel/xecontent.cxx | 18 ++---
sc/source/filter/excel/xeextlst.cxx |3 +
sc/source/filter/excel/xeformula.cxx |9
sc/source/filter/excel/xeroot.cxx| 51 +++
sc/source/filter/excel/xestream.cxx | 24 ++--
sc/source/filter/excel/xetable.cxx |3 +
sc/source/filter/inc/formulabase.hxx |6 ++-
sc/source/filter/inc/xeroot.hxx |5 ++
sc/source/filter/inc/xestream.hxx|4 +-
sc/source/filter/oox/formulabase.cxx | 36 ++-
sc/source/filter/xcl97/XclExpChangeTrack.cxx |3 +
11 files changed, 136 insertions(+), 26 deletions(-)
New commits:
commit 500baf58b08322102e9547f60355eb1a8ee35e19
Author: Eike Rathke er...@redhat.com
Date: Thu Jan 24 23:17:00 2013 +0100
resolved fdo#59819 write correct OOXML function name mapping
OOXML export so far used the internal English PODF symbols that worked
only by accident. As soon as function names or operators differed it was
plain wrong. Use the existing OOXML mapping instead that also the import
uses.
For example, in OOXML the IFNA function is stored as _xlfn.IFNA, Excel
2013 could not read the IFNA that we wrote.
Also, do not write a definedName element in OOXML for new functions
that in the binary format are written as macro calls and need a defined
name entry.
(cherry picked from commit 1162738c6fbd8505ffa27b28118318cc522a5368)
non-dbgutil build [-Werror=unused-parameter]
(cherry picked from commit 0adb958c451660ec0eea012480b6327dd2aefeb4)
Change-Id: I094990f1e5179045bfba559fea10bc0a3fe17731
Reviewed-on: https://gerrit.libreoffice.org/1854
Reviewed-by: Noel Power noel.po...@suse.com
Tested-by: Noel Power noel.po...@suse.com
(cherry picked from commit fd96008b90c024c6e4c3a251440a7878629bbc17)
Reviewed-on: https://gerrit.libreoffice.org/1884
Reviewed-by: Markus Mohrhard markus.mohrh...@googlemail.com
Reviewed-by: Petr Mladek pmla...@suse.cz
Tested-by: Petr Mladek pmla...@suse.cz
diff --git a/sc/source/filter/excel/xecontent.cxx
b/sc/source/filter/excel/xecontent.cxx
index a58f1b0..5a46ad5 100644
--- a/sc/source/filter/excel/xecontent.cxx
+++ b/sc/source/filter/excel/xecontent.cxx
@@ -931,12 +931,14 @@ void XclExpCFImpl::SaveXml( XclExpXmlStream rStrm )
if(!IsTextRule(eOperation) !IsTopBottomRule(eOperation))
{
rWorksheet-startElement( XML_formula, FSEND );
-rWorksheet-write(XclXmlUtils::ToOUString( GetRoot().GetDoc(),
mrFormatEntry.GetValidSrcPos(), mrFormatEntry.CreateTokenArry( 0 ) ));
+rWorksheet-write(XclXmlUtils::ToOUString( GetRoot().GetDoc(),
mrFormatEntry.GetValidSrcPos(),
+mrFormatEntry.CreateTokenArry( 0 ),
GetRoot().GetOpCodeMap() ));
rWorksheet-endElement( XML_formula );
if (bFmla2)
{
rWorksheet-startElement( XML_formula, FSEND );
-rWorksheet-write(XclXmlUtils::ToOUString( GetRoot().GetDoc(),
mrFormatEntry.GetValidSrcPos(), mrFormatEntry.CreateTokenArry( 1 ) ));
+rWorksheet-write(XclXmlUtils::ToOUString( GetRoot().GetDoc(),
mrFormatEntry.GetValidSrcPos(),
+mrFormatEntry.CreateTokenArry( 1 ),
GetRoot().GetOpCodeMap() ));
rWorksheet-endElement( XML_formula );
}
}
@@ -1076,7 +1078,8 @@ void XclExpCfvo::SaveXml( XclExpXmlStream rStrm )
rtl::OString aValue;
if(mrEntry.GetType() == COLORSCALE_FORMULA)
{
-rtl::OUString aFormula = XclXmlUtils::ToOUString( GetRoot().GetDoc(),
maSrcPos, mrEntry.GetFormula()-Clone() );
+rtl::OUString aFormula = XclXmlUtils::ToOUString( GetRoot().GetDoc(),
maSrcPos,
+mrEntry.GetFormula()-Clone(), GetRoot().GetOpCodeMap() );
aValue = rtl::OUStringToOString(aFormula, RTL_TEXTENCODING_UTF8 );
}
else
@@ -1582,14 +1585,16 @@ XclExpDV::XclExpDV( const XclExpRoot rRoot, sal_uLong
nScHandle ) :
Formula compiler supports this by offering two
different functions
CreateDataValFormula() and CreateListValFormula(). */
mxTokArr1 = rFmlaComp.CreateFormula( EXC_FMLATYPE_LISTVAL,
*xScTokArr );
-msFormula1 = XclXmlUtils::ToOUString( GetDoc(),
pValData-GetSrcPos(), xScTokArr.get() );
+msFormula1 = XclXmlUtils::ToOUString( GetDoc(),
pValData-GetSrcPos(),
+xScTokArr.get(), GetRoot().GetOpCodeMap() );
}
}
else
{
// no list validation - convert the formula
mxTokArr1 = rFmlaComp.CreateFormula( EXC_FMLATYPE_DATAVAL,
*xScTokArr );
-msFormula1 = XclXmlUtils::ToOUString( GetDoc(),
pValData-GetSrcPos(), xScTokArr.get() );
+msFormula1 =