diff options
author | Katarina Machalkova <kmachalkova@suse.cz> | 2010-10-13 17:44:47 +0200 |
---|---|---|
committer | Katarina Machalkova <kmachalkova@suse.cz> | 2010-10-13 19:51:44 +0200 |
commit | 2ce689bf63f903d459f7e102830b429646ff16a1 (patch) | |
tree | f932e2ee944b19b1cdfbe35a4325c20c2efe1e58 /sc/source/filter/excel/xetable.cxx | |
parent | 5d63ff6e8802a4a87df68d702fc25ef97aad3b38 (diff) |
Merged xlsx-shared-xlsx-snapshot.diff from ooo-build
Diffstat (limited to 'sc/source/filter/excel/xetable.cxx')
-rw-r--r-- | sc/source/filter/excel/xetable.cxx | 66 |
1 files changed, 1 insertions, 65 deletions
diff --git a/sc/source/filter/excel/xetable.cxx b/sc/source/filter/excel/xetable.cxx index f0fc82a579b5..2a328bda48a1 100644 --- a/sc/source/filter/excel/xetable.cxx +++ b/sc/source/filter/excel/xetable.cxx @@ -883,76 +883,12 @@ void XclExpFormulaCell::Save( XclExpStream& rStrm ) mxStringRec->Save( rStrm ); } -static const char* lcl_GetErrorString( USHORT nScErrCode ) -{ - sal_uInt8 nXclErrCode = XclTools::GetXclErrorCode( nScErrCode ); - switch( nXclErrCode ) - { - case EXC_ERR_NULL: return "#NULL!"; - case EXC_ERR_DIV0: return "#DIV/0!"; - case EXC_ERR_VALUE: return "#VALUE!"; - case EXC_ERR_REF: return "#REF!"; - case EXC_ERR_NAME: return "#NAME?"; - case EXC_ERR_NUM: return "#NUM!"; - case EXC_ERR_NA: - default: return "#N/A"; - } -} - -static void lcl_GetFormulaInfo( ScFormulaCell& rCell, const char** pType, OUString& rValue) -{ - switch( rCell.GetFormatType() ) - { - case NUMBERFORMAT_NUMBER: - { - // either value or error code - USHORT nScErrCode = rCell.GetErrCode(); - if( nScErrCode ) - { - *pType = "e"; - rValue = XclXmlUtils::ToOUString( lcl_GetErrorString( nScErrCode ) ); - } - else - { - *pType = "n"; - rValue = OUString::valueOf( rCell.GetValue() ); - } - } - break; - - case NUMBERFORMAT_TEXT: - { - *pType = "str"; - String aResult; - rCell.GetString( aResult ); - rValue = XclXmlUtils::ToOUString( aResult ); - } - break; - - case NUMBERFORMAT_LOGICAL: - { - *pType = "b"; - rValue = XclXmlUtils::ToOUString( rCell.GetValue() == 0.0 ? "0" : "1" ); - } - break; - - default: - { - *pType = "inlineStr"; - String aResult; - rCell.GetString( aResult ); - rValue = XclXmlUtils::ToOUString( aResult ); - } - break; - } -} - void XclExpFormulaCell::SaveXml( XclExpXmlStream& rStrm ) { const char* sType = NULL; OUString sValue; - lcl_GetFormulaInfo( mrScFmlaCell, &sType, sValue ); + XclXmlUtils::GetFormulaTypeAndValue( mrScFmlaCell, sType, sValue ); sax_fastparser::FSHelperPtr& rWorksheet = rStrm.GetCurrentStream(); rWorksheet->startElement( XML_c, XML_r, XclXmlUtils::ToOString( GetXclPos() ).getStr(), |