LibreOffice Module sc (master)  1
Macros | Functions | Variables
xlformula.cxx File Reference
#include <xlformula.hxx>
#include <refdata.hxx>
#include <tokenarray.hxx>
#include <xestream.hxx>
#include <xistream.hxx>
#include <xlroot.hxx>
#include <comphelper/string.hxx>
#include <svl/sharedstringpool.hxx>
Include dependency graph for xlformula.cxx:

Go to the source code of this file.

Macros

#define RO   { EXC_PARAM_REGULAR, EXC_PARAMCONV_ORG, false }
 
#define RA   { EXC_PARAM_REGULAR, EXC_PARAMCONV_ARR, false }
 
#define RR   { EXC_PARAM_REGULAR, EXC_PARAMCONV_RPT, false }
 
#define RX   { EXC_PARAM_REGULAR, EXC_PARAMCONV_RPX, false }
 
#define VO   { EXC_PARAM_REGULAR, EXC_PARAMCONV_ORG, true }
 
#define VV   { EXC_PARAM_REGULAR, EXC_PARAMCONV_VAL, true }
 
#define VA   { EXC_PARAM_REGULAR, EXC_PARAMCONV_ARR, true }
 
#define VR   { EXC_PARAM_REGULAR, EXC_PARAMCONV_RPT, true }
 
#define VX   { EXC_PARAM_REGULAR, EXC_PARAMCONV_RPX, true }
 
#define RO_E   { EXC_PARAM_EXCELONLY, EXC_PARAMCONV_ORG, false }
 
#define VR_E   { EXC_PARAM_EXCELONLY, EXC_PARAMCONV_RPT, true }
 
#define C   { EXC_PARAM_CALCONLY, EXC_PARAMCONV_ORG, false }
 
#define EXC_FUNCNAME(ascii)    "_xlfn." ascii
 Maximum parameter count. More...
 
#define EXC_FUNCNAME_ODF(ascii)    "_xlfnodf." ascii
 
#define EXC_FUNCNAME_ADDIN(ascii)    "com.sun.star.sheet.addin." ascii
 
#define EXC_FUNCENTRY_V_VR(opcode, minparam, maxparam, flags, asciiname)
 
#define EXC_FUNCENTRY_V_VR_IMPORT(opcode, minparam, maxparam, flags, asciiname)   { opcode, NOID, minparam, maxparam, V, { VR }, EXC_FUNCFLAG_IMPORTONLY|(flags), EXC_FUNCNAME( asciiname ) }
 
#define EXC_FUNCENTRY_V_RO_EXPORT(opcode, minparam, maxparam, flags, asciiname)   { opcode, 255, (minparam)+1, (maxparam)+1, V, { RO_E, RO }, EXC_FUNCFLAG_EXPORTONLY|(flags), EXC_FUNCNAME( asciiname ) }
 
#define EXC_FUNCENTRY_A_VR(opcode, minparam, maxparam, flags, asciiname)
 
#define EXC_FUNCENTRY_V_RO(opcode, minparam, maxparam, flags, asciiname)
 
#define EXC_FUNCENTRY_V_RX(opcode, minparam, maxparam, flags, asciiname)
 
#define EXC_FUNCENTRY_V_VA(opcode, minparam, maxparam, flags, asciiname)
 
#define EXC_FUNCENTRY_ODF(opcode, minparam, maxparam, flags, asciiname)
 
#define EXC_FUNCENTRY_OOO(opcode, minparam, maxparam, flags, asciiname)
 
#define EXC_FUNCENTRY_OOO_IBR(opcode, minparam, maxparam, flags, asciiname)   { opcode, NOID, minparam, maxparam, V, { VR }, EXC_FUNCFLAG_IMPORTONLY|(flags), asciiname }
 

Functions

XclImpStreamoperator>> (XclImpStream &rStrm, XclTokenArray &rTokArr)
 Calls the Read() function at the passed token array. More...
 
XclExpStreamoperator<< (XclExpStream &rStrm, const XclTokenArray &rTokArr)
 Calls the Write() function at the passed token array. More...
 
XclExpStreamoperator<< (XclExpStream &rStrm, const XclTokenArrayRef &rxTokArr)
 Calls the Write() function at the passed token array. More...
 

Variables

const sal_uInt8 R = EXC_TOKCLASS_REF
 
const sal_uInt8 V = EXC_TOKCLASS_VAL
 
const sal_uInt8 A = EXC_TOKCLASS_ARR
 
const sal_uInt16 NOID = SAL_MAX_UINT16
 
const sal_uInt8 MX = 30
 No BIFF/OOBIN function identifier available. More...
 
const XclFunctionInfo saFuncTable_2 []
 Functions new in BIFF2. More...
 
const XclFunctionInfo saFuncTable_3 []
 Functions new in BIFF3. More...
 
const XclFunctionInfo saFuncTable_4 []
 Functions new in BIFF4. More...
 
const XclFunctionInfo saFuncTable_5 []
 Functions new in BIFF5/BIFF7. More...
 
const XclFunctionInfo saFuncTable_8 []
 Functions new in BIFF8. More...
 
const XclFunctionInfo saFuncTable_Oox []
 Functions new in OOXML. More...
 
const XclFunctionInfo saFuncTable_2010 []
 Functions new in Excel 2010. More...
 
const XclFunctionInfo saFuncTable_2013 []
 Functions new in Excel 2013. More...
 
const XclFunctionInfo saFuncTable_2016 []
 Functions new in Excel 2016. More...
 
const XclFunctionInfo saFuncTable_Odf []
 Functions defined by OpenFormula, but not supported by Calc (ocNoName) or by Excel (defined op-code). More...
 
const XclFunctionInfo saFuncTable_OOoLO []
 Functions defined by Calc, but not in OpenFormula nor supported by Excel. More...
 

Macro Definition Documentation

#define C   { EXC_PARAM_CALCONLY, EXC_PARAMCONV_ORG, false }

Definition at line 66 of file xlformula.cxx.

Referenced by ScInterpreter::ScEasterSunday().

#define EXC_FUNCENTRY_A_VR (   opcode,
  minparam,
  maxparam,
  flags,
  asciiname 
)
Value:
{ opcode, NOID, minparam, maxparam, A, { VR }, EXC_FUNCFLAG_IMPORTONLY|(flags), EXC_FUNCNAME( asciiname ) }, \
{ opcode, 255, (minparam)+1, (maxparam)+1, A, { RO_E, RO }, EXC_FUNCFLAG_EXPORTONLY|(flags), EXC_FUNCNAME( asciiname ) }
const sal_uInt16 NOID
Definition: xlformula.cxx:68
const sal_uInt8 EXC_FUNCFLAG_IMPORTONLY
Result is volatile (e.g. NOW() function).
Definition: xlformula.hxx:290
const sal_uInt8 A
Definition: xlformula.cxx:52
#define EXC_FUNCNAME(ascii)
Maximum parameter count.
Definition: xlformula.cxx:71
const sal_uInt8 EXC_FUNCFLAG_EXPORTONLY
Only used in import filter.
Definition: xlformula.hxx:291
#define VR
Definition: xlformula.cxx:62
#define RO
Definition: xlformula.cxx:55
#define RO_E
Definition: xlformula.cxx:64

Definition at line 414 of file xlformula.cxx.

#define EXC_FUNCENTRY_ODF (   opcode,
  minparam,
  maxparam,
  flags,
  asciiname 
)
Value:
{ opcode, NOID, minparam, maxparam, V, { VR }, EXC_FUNCFLAG_IMPORTONLY|(flags), EXC_FUNCNAME_ODF( asciiname ) }, \
{ opcode, 255, (minparam)+1, (maxparam)+1, V, { RO_E, RO }, EXC_FUNCFLAG_EXPORTONLY|(flags), EXC_FUNCNAME_ODF( asciiname ) }
const sal_uInt8 V
Definition: xlformula.cxx:51
const sal_uInt16 NOID
Definition: xlformula.cxx:68
const sal_uInt8 EXC_FUNCFLAG_IMPORTONLY
Result is volatile (e.g. NOW() function).
Definition: xlformula.hxx:290
#define EXC_FUNCNAME_ODF(ascii)
Definition: xlformula.cxx:72
const sal_uInt8 EXC_FUNCFLAG_EXPORTONLY
Only used in import filter.
Definition: xlformula.hxx:291
#define VR
Definition: xlformula.cxx:62
#define RO
Definition: xlformula.cxx:55
#define RO_E
Definition: xlformula.cxx:64

Definition at line 596 of file xlformula.cxx.

#define EXC_FUNCENTRY_OOO (   opcode,
  minparam,
  maxparam,
  flags,
  asciiname 
)
Value:
{ opcode, NOID, minparam, maxparam, V, { VR }, EXC_FUNCFLAG_IMPORTONLY|(flags), EXC_FUNCNAME( asciiname ) }, \
{ opcode, 255, (minparam)+1, (maxparam)+1, V, { RO_E, RO }, EXC_FUNCFLAG_EXPORTONLY|(flags), EXC_FUNCNAME( asciiname ) }
const sal_uInt8 V
Definition: xlformula.cxx:51
const sal_uInt16 NOID
Definition: xlformula.cxx:68
const sal_uInt8 EXC_FUNCFLAG_IMPORTONLY
Result is volatile (e.g. NOW() function).
Definition: xlformula.hxx:290
#define EXC_FUNCNAME(ascii)
Maximum parameter count.
Definition: xlformula.cxx:71
const sal_uInt8 EXC_FUNCFLAG_EXPORTONLY
Only used in import filter.
Definition: xlformula.hxx:291
#define VR
Definition: xlformula.cxx:62
#define RO
Definition: xlformula.cxx:55
#define RO_E
Definition: xlformula.cxx:64

Definition at line 609 of file xlformula.cxx.

#define EXC_FUNCENTRY_OOO_IBR (   opcode,
  minparam,
  maxparam,
  flags,
  asciiname 
)    { opcode, NOID, minparam, maxparam, V, { VR }, EXC_FUNCFLAG_IMPORTONLY|(flags), asciiname }

Definition at line 614 of file xlformula.cxx.

#define EXC_FUNCENTRY_V_RO (   opcode,
  minparam,
  maxparam,
  flags,
  asciiname 
)
Value:
{ opcode, NOID, minparam, maxparam, V, { RO }, EXC_FUNCFLAG_IMPORTONLY|(flags), EXC_FUNCNAME( asciiname ) }, \
{ opcode, 255, (minparam)+1, (maxparam)+1, V, { RO_E, RO }, EXC_FUNCFLAG_EXPORTONLY|(flags), EXC_FUNCNAME( asciiname ) }
const sal_uInt8 V
Definition: xlformula.cxx:51
const sal_uInt16 NOID
Definition: xlformula.cxx:68
const sal_uInt8 EXC_FUNCFLAG_IMPORTONLY
Result is volatile (e.g. NOW() function).
Definition: xlformula.hxx:290
#define EXC_FUNCNAME(ascii)
Maximum parameter count.
Definition: xlformula.cxx:71
const sal_uInt8 EXC_FUNCFLAG_EXPORTONLY
Only used in import filter.
Definition: xlformula.hxx:291
#define RO
Definition: xlformula.cxx:55
#define RO_E
Definition: xlformula.cxx:64

Definition at line 418 of file xlformula.cxx.

#define EXC_FUNCENTRY_V_RO_EXPORT (   opcode,
  minparam,
  maxparam,
  flags,
  asciiname 
)    { opcode, 255, (minparam)+1, (maxparam)+1, V, { RO_E, RO }, EXC_FUNCFLAG_EXPORTONLY|(flags), EXC_FUNCNAME( asciiname ) }

Definition at line 411 of file xlformula.cxx.

#define EXC_FUNCENTRY_V_RX (   opcode,
  minparam,
  maxparam,
  flags,
  asciiname 
)
Value:
{ opcode, NOID, minparam, MX, V, { RX }, EXC_FUNCFLAG_IMPORTONLY|(flags), EXC_FUNCNAME( asciiname ) }, \
{ opcode, 255, (minparam)+1, MX, V, { RO_E, RX }, EXC_FUNCFLAG_EXPORTONLY|(flags), EXC_FUNCNAME( asciiname ) }
const sal_uInt8 V
Definition: xlformula.cxx:51
const sal_uInt16 NOID
Definition: xlformula.cxx:68
const sal_uInt8 EXC_FUNCFLAG_IMPORTONLY
Result is volatile (e.g. NOW() function).
Definition: xlformula.hxx:290
#define EXC_FUNCNAME(ascii)
Maximum parameter count.
Definition: xlformula.cxx:71
const sal_uInt8 MX
No BIFF/OOBIN function identifier available.
Definition: xlformula.cxx:69
const sal_uInt8 EXC_FUNCFLAG_EXPORTONLY
Only used in import filter.
Definition: xlformula.hxx:291
#define RX
Definition: xlformula.cxx:58
#define RO_E
Definition: xlformula.cxx:64

Definition at line 423 of file xlformula.cxx.

#define EXC_FUNCENTRY_V_VA (   opcode,
  minparam,
  maxparam,
  flags,
  asciiname 
)
Value:
{ opcode, NOID, minparam, maxparam, V, { VA }, EXC_FUNCFLAG_IMPORTONLY|(flags), EXC_FUNCNAME( asciiname ) }, \
{ opcode, 255, (minparam)+1, (maxparam)+1, V, { RO_E, RO }, EXC_FUNCFLAG_EXPORTONLY|(flags), EXC_FUNCNAME( asciiname ) }
const sal_uInt8 V
Definition: xlformula.cxx:51
const sal_uInt16 NOID
Definition: xlformula.cxx:68
const sal_uInt8 EXC_FUNCFLAG_IMPORTONLY
Result is volatile (e.g. NOW() function).
Definition: xlformula.hxx:290
#define EXC_FUNCNAME(ascii)
Maximum parameter count.
Definition: xlformula.cxx:71
const sal_uInt8 EXC_FUNCFLAG_EXPORTONLY
Only used in import filter.
Definition: xlformula.hxx:291
#define RO
Definition: xlformula.cxx:55
#define RO_E
Definition: xlformula.cxx:64
#define VA
Definition: xlformula.cxx:61

Definition at line 427 of file xlformula.cxx.

#define EXC_FUNCENTRY_V_VR (   opcode,
  minparam,
  maxparam,
  flags,
  asciiname 
)
Value:
{ opcode, NOID, minparam, maxparam, V, { VR }, EXC_FUNCFLAG_IMPORTONLY|(flags), EXC_FUNCNAME( asciiname ) }, \
{ opcode, 255, (minparam)+1, (maxparam)+1, V, { RO_E, RO }, EXC_FUNCFLAG_EXPORTONLY|(flags), EXC_FUNCNAME( asciiname ) }
const sal_uInt8 V
Definition: xlformula.cxx:51
const sal_uInt16 NOID
Definition: xlformula.cxx:68
const sal_uInt8 EXC_FUNCFLAG_IMPORTONLY
Result is volatile (e.g. NOW() function).
Definition: xlformula.hxx:290
#define EXC_FUNCNAME(ascii)
Maximum parameter count.
Definition: xlformula.cxx:71
const sal_uInt8 EXC_FUNCFLAG_EXPORTONLY
Only used in import filter.
Definition: xlformula.hxx:291
#define VR
Definition: xlformula.cxx:62
#define RO
Definition: xlformula.cxx:55
#define RO_E
Definition: xlformula.cxx:64

Definition at line 384 of file xlformula.cxx.

#define EXC_FUNCENTRY_V_VR_IMPORT (   opcode,
  minparam,
  maxparam,
  flags,
  asciiname 
)    { opcode, NOID, minparam, maxparam, V, { VR }, EXC_FUNCFLAG_IMPORTONLY|(flags), EXC_FUNCNAME( asciiname ) }

Definition at line 408 of file xlformula.cxx.

#define EXC_FUNCNAME (   ascii)    "_xlfn." ascii

Maximum parameter count.

Definition at line 71 of file xlformula.cxx.

#define EXC_FUNCNAME_ADDIN (   ascii)    "com.sun.star.sheet.addin." ascii

Definition at line 73 of file xlformula.cxx.

#define EXC_FUNCNAME_ODF (   ascii)    "_xlfnodf." ascii

Definition at line 72 of file xlformula.cxx.

#define RA   { EXC_PARAM_REGULAR, EXC_PARAMCONV_ARR, false }

Definition at line 56 of file xlformula.cxx.

#define RO   { EXC_PARAM_REGULAR, EXC_PARAMCONV_ORG, false }

Definition at line 55 of file xlformula.cxx.

#define RO_E   { EXC_PARAM_EXCELONLY, EXC_PARAMCONV_ORG, false }

Definition at line 64 of file xlformula.cxx.

#define RR   { EXC_PARAM_REGULAR, EXC_PARAMCONV_RPT, false }

Definition at line 57 of file xlformula.cxx.

#define RX   { EXC_PARAM_REGULAR, EXC_PARAMCONV_RPX, false }

Definition at line 58 of file xlformula.cxx.

#define VA   { EXC_PARAM_REGULAR, EXC_PARAMCONV_ARR, true }

Definition at line 61 of file xlformula.cxx.

#define VO   { EXC_PARAM_REGULAR, EXC_PARAMCONV_ORG, true }

Definition at line 59 of file xlformula.cxx.

#define VR   { EXC_PARAM_REGULAR, EXC_PARAMCONV_RPT, true }

Definition at line 62 of file xlformula.cxx.

#define VR_E   { EXC_PARAM_EXCELONLY, EXC_PARAMCONV_RPT, true }

Definition at line 65 of file xlformula.cxx.

#define VV   { EXC_PARAM_REGULAR, EXC_PARAMCONV_VAL, true }

Definition at line 60 of file xlformula.cxx.

#define VX   { EXC_PARAM_REGULAR, EXC_PARAMCONV_RPX, true }

Definition at line 63 of file xlformula.cxx.

Function Documentation

XclExpStream& operator<< ( XclExpStream rStrm,
const XclTokenArray rTokArr 
)

Calls the Write() function at the passed token array.

Definition at line 790 of file xlformula.cxx.

References XclTokenArray::Write().

XclExpStream& operator<< ( XclExpStream rStrm,
const XclTokenArrayRef rxTokArr 
)

Calls the Write() function at the passed token array.

Definition at line 796 of file xlformula.cxx.

References XclExpStream::Write().

XclImpStream& operator>> ( XclImpStream rStrm,
XclTokenArray rTokArr 
)

Calls the Read() function at the passed token array.

Definition at line 784 of file xlformula.cxx.

References XclTokenArray::Read().

Variable Documentation

const sal_uInt8 MX = 30

No BIFF/OOBIN function identifier available.

Definition at line 69 of file xlformula.cxx.

Referenced by oox::xls::FunctionProviderImpl::initFunc().

const sal_uInt16 NOID = SAL_MAX_UINT16
const XclFunctionInfo saFuncTable_2[]

Functions new in BIFF2.

Definition at line 76 of file xlformula.cxx.

const XclFunctionInfo saFuncTable_2010[]

Functions new in Excel 2010.

See http://office.microsoft.com/en-us/excel-help/what-s-new-changes-made-to-excel-functions-HA010355760.aspx A lot of statistical functions have been renamed (the 'old' function names still exist).

sc/source/filter/oox/formulabase.cxx saFuncTable2010 for V,VR,RO,...

Definition at line 438 of file xlformula.cxx.

const XclFunctionInfo saFuncTable_2013[]

Functions new in Excel 2013.

See http://office.microsoft.com/en-us/excel-help/new-functions-in-excel-2013-HA103980604.aspx Most functions apparently were added for ODF1.2 ODFF / OpenFormula compatibility.

Functions with EXC_FUNCENTRY_V_VR_IMPORT are rewritten in sc/source/filter/excel/xeformula.cxx during export for BIFF, OOXML export uses a different mapping but still uses this mapping here to determine the feature set.

FIXME: either have the exporter determine the feature set from the active mapping, preferred, or enhance this mapping here such that for OOXML the rewrite can be overridden.

sc/source/filter/oox/formulabase.cxx saFuncTable2013 for V,VR,RO,...

Definition at line 517 of file xlformula.cxx.

const XclFunctionInfo saFuncTable_2016[]
Initial value:
=
{
EXC_FUNCENTRY_V_VR( ocForecast_ETS_ADD, 3, 6, 0, "FORECAST.ETS" ),
EXC_FUNCENTRY_V_VR( ocForecast_ETS_PIA, 3, 7, 0, "FORECAST.ETS.CONFINT" ),
EXC_FUNCENTRY_V_VR( ocForecast_ETS_SEA, 2, 4, 0, "FORECAST.ETS.SEASONALITY" ),
EXC_FUNCENTRY_V_VR( ocForecast_ETS_STA, 3, 6, 0, "FORECAST.ETS.STAT" ),
EXC_FUNCENTRY_V_VR( ocForecast_LIN, 3, 3, 0, "FORECAST.LINEAR" ),
EXC_FUNCENTRY_V_VR( ocConcat_MS, 1, MX, 0, "CONCAT" ),
EXC_FUNCENTRY_V_VR( ocTextJoin_MS, 3, MX, 0, "TEXTJOIN" ),
EXC_FUNCENTRY_V_VR( ocIfs_MS, 2, MX, 0, "IFS" ),
EXC_FUNCENTRY_V_VR( ocSwitch_MS, 3, MX, 0, "SWITCH" ),
EXC_FUNCENTRY_V_VR( ocMinIfs_MS, 3, MX, 0, "MINIFS" ),
}
#define EXC_FUNCENTRY_V_VR(opcode, minparam, maxparam, flags, asciiname)
Definition: xlformula.cxx:384
const sal_uInt8 MX
No BIFF/OOBIN function identifier available.
Definition: xlformula.cxx:69

Functions new in Excel 2016.

See https://support.office.com/en-us/article/Forecasting-functions-897a2fe9-6595-4680-a0b0-93e0308d5f6e?ui=en-US&rs=en-US&ad=US#_forecast.ets and https://support.office.com/en-us/article/What-s-New-and-Improved-in-Office-2016-for-Office-365-95c8d81d-08ba-42c1-914f-bca4603e1426?ui=en-US&rs=en-US&ad=US

sc/source/filter/oox/formulabase.cxx saFuncTable2016 for V,VR,RO,...

Definition at line 581 of file xlformula.cxx.

const XclFunctionInfo saFuncTable_3[]
Initial value:
=
{
{ ocLinest, 49, 1, 4, A, { RA, RA, VV }, 0, nullptr },
{ ocTrend, 50, 1, 4, A, { RA, RA, RA, VV }, 0, nullptr },
{ ocLogest, 51, 1, 4, A, { RA, RA, VV }, 0, nullptr },
{ ocGrowth, 52, 1, 4, A, { RA, RA, RA, VV }, 0, nullptr },
{ ocTrunc, 197, 1, 2, V, { VR }, 0, nullptr },
{ ocAddress, 219, 2, 5, V, { VR }, 0, nullptr },
{ ocGetDiffDate360, 220, 2, 2, V, { VR, VR, C }, 0, nullptr },
{ ocGetActDate, 221, 0, 0, V, {}, EXC_FUNCFLAG_VOLATILE, nullptr },
{ ocVBD, 222, 5, 7, V, { VR }, 0, nullptr },
{ ocMedian, 227, 1, MX, V, { RX }, 0, nullptr },
{ ocSumProduct, 228, 1, MX, V, { VA }, 0, nullptr },
{ ocSinHyp, 229, 1, 1, V, { VR }, 0, nullptr },
{ ocCosecantHyp, 229, 1, 1, V, { VR }, EXC_FUNCFLAG_EXPORTONLY, nullptr },
{ ocCosHyp, 230, 1, 1, V, { VR }, 0, nullptr },
{ ocSecantHyp, 230, 1, 1, V, { VR }, EXC_FUNCFLAG_EXPORTONLY, nullptr },
{ ocTanHyp, 231, 1, 1, V, { VR }, 0, nullptr },
{ ocCotHyp, 231, 1, 1, V, { VR }, EXC_FUNCFLAG_EXPORTONLY, nullptr },
{ ocArcSinHyp, 232, 1, 1, V, { VR }, 0, nullptr },
{ ocArcCosHyp, 233, 1, 1, V, { VR }, 0, nullptr },
{ ocArcTanHyp, 234, 1, 1, V, { VR }, 0, nullptr },
{ ocArcCotHyp, 234, 1, 1, V, { VR }, EXC_FUNCFLAG_EXPORTONLY, nullptr },
{ ocDBGet, 235, 3, 3, V, { RO, RR }, 0, nullptr },
{ ocInfo, 244, 1, 1, V, { VR }, EXC_FUNCFLAG_VOLATILE, nullptr }
}
const sal_uInt8 EXC_FUNCFLAG_VOLATILE
Number of parameter info entries.
Definition: xlformula.hxx:289
const sal_uInt8 V
Definition: xlformula.cxx:51
ocArcCotHyp
ocCosecantHyp
ocGrowth
ocTrend
ocDBGet
ocVBD
ocSinHyp
ocAddress
ocLogest
const sal_uInt8 A
Definition: xlformula.cxx:52
ocSumProduct
#define VV
Definition: xlformula.cxx:60
ocMedian
ocLinest
const sal_uInt8 MX
No BIFF/OOBIN function identifier available.
Definition: xlformula.cxx:69
#define RA
Definition: xlformula.cxx:56
ocInfo
const sal_uInt8 EXC_FUNCFLAG_EXPORTONLY
Only used in import filter.
Definition: xlformula.hxx:291
ocArcTanHyp
ocCosHyp
ocArcCosHyp
#define VR
Definition: xlformula.cxx:62
ocSecantHyp
#define RX
Definition: xlformula.cxx:58
ocCotHyp
#define C
Definition: xlformula.cxx:66
#define RO
Definition: xlformula.cxx:55
#define RR
Definition: xlformula.cxx:57
ocGetActDate
ocTrunc
ocGetDiffDate360
ocTanHyp
#define VA
Definition: xlformula.cxx:61
ocArcSinHyp

Functions new in BIFF3.

Definition at line 226 of file xlformula.cxx.

const XclFunctionInfo saFuncTable_4[]

Functions new in BIFF4.

Definition at line 254 of file xlformula.cxx.

const XclFunctionInfo saFuncTable_5[]
Initial value:
=
{
{ ocGetDayOfWeek, 70, 1, 2, V, { VR }, 0, nullptr },
{ ocHLookup, 101, 3, 4, V, { VV, RO, RO, VV }, 0, nullptr },
{ ocVLookup, 102, 3, 4, V, { VV, RO, RO, VV }, 0, nullptr },
{ ocGetDiffDate360, 220, 2, 3, V, { VR }, 0, nullptr },
{ ocMacro, 255, 1, MX, R, { RO_E, RO }, EXC_FUNCFLAG_EXPORTONLY, nullptr },
{ ocExternal, 255, 1, MX, R, { RO_E, RO }, EXC_FUNCFLAG_EXPORTONLY, nullptr },
{ ocConcat, 336, 0, MX, V, { VR }, 0, nullptr },
{ ocPower, 337, 2, 2, V, { VR }, 0, nullptr },
{ ocRad, 342, 1, 1, V, { VR }, 0, nullptr },
{ ocDeg, 343, 1, 1, V, { VR }, 0, nullptr },
{ ocSubTotal, 344, 2, MX, V, { VR, RO }, 0, nullptr },
{ ocSumIf, 345, 2, 3, V, { RO, VR, RO }, 0, nullptr },
{ ocCountIf, 346, 2, 2, V, { RO, VR }, 0, nullptr },
{ ocCountEmptyCells, 347, 1, 1, V, { RO }, 0, nullptr },
{ ocISPMT, 350, 4, 4, V, { VR }, 0, nullptr },
{ ocGetDateDif, 351, 3, 3, V, { VR }, 0, nullptr },
{ ocNoName, 352, 1, 1, V, { VR }, EXC_FUNCFLAG_IMPORTONLY, nullptr },
{ ocNoName, 353, 2, 2, V, { VR }, EXC_FUNCFLAG_IMPORTONLY, nullptr },
{ ocRoman, 354, 1, 2, V, { VR }, 0, nullptr }
}
const sal_uInt8 V
Definition: xlformula.cxx:51
ocSubTotal
ocRad
ocRoman
const sal_uInt8 EXC_FUNCFLAG_IMPORTONLY
Result is volatile (e.g. NOW() function).
Definition: xlformula.hxx:290
ocHLookup
#define VV
Definition: xlformula.cxx:60
const sal_uInt8 MX
No BIFF/OOBIN function identifier available.
Definition: xlformula.cxx:69
const sal_uInt8 EXC_FUNCFLAG_EXPORTONLY
Only used in import filter.
Definition: xlformula.hxx:291
ocPower
#define VR
Definition: xlformula.cxx:62
ocExternal
ocGetDateDif
ocVLookup
ocCountEmptyCells
ocSumIf
ocISPMT
ocNoName
#define RO
Definition: xlformula.cxx:55
ocMacro
#define RO_E
Definition: xlformula.cxx:64
ocGetDiffDate360
ocDeg
ocConcat
ocCountIf
const sal_uInt8 R
Definition: xlformula.cxx:50
ocGetDayOfWeek

Functions new in BIFF5/BIFF7.

Unsupported functions: DATESTRING, NUMBERSTRING.

Definition at line 343 of file xlformula.cxx.

const XclFunctionInfo saFuncTable_8[]
Initial value:
=
{
{ ocGetPivotData, 358, 2, MX, V, { RR, RR, VR }, 0, nullptr },
{ ocHyperLink, 359, 1, 2, V, { VV, VO }, 0, nullptr },
{ ocNoName, 360, 1, 1, V, { RO }, EXC_FUNCFLAG_IMPORTONLY, nullptr },
{ ocAverageA, 361, 1, MX, V, { RX }, 0, nullptr },
{ ocMaxA, 362, 1, MX, V, { RX }, 0, nullptr },
{ ocMinA, 363, 1, MX, V, { RX }, 0, nullptr },
{ ocStDevPA, 364, 1, MX, V, { RX }, 0, nullptr },
{ ocVarPA, 365, 1, MX, V, { RX }, 0, nullptr },
{ ocStDevA, 366, 1, MX, V, { RX }, 0, nullptr },
{ ocVarA, 367, 1, MX, V, { RX }, 0, nullptr },
{ ocBahtText, 368, 1, 1, V, { VR }, EXC_FUNCFLAG_IMPORTONLY, EXC_FUNCNAME( "BAHTTEXT" ) },
{ ocBahtText, 255, 2, 2, V, { RO_E, RO }, EXC_FUNCFLAG_EXPORTONLY, EXC_FUNCNAME( "BAHTTEXT" ) },
{ ocEuroConvert, 255, 4, 6, V, { RO_E, RO }, EXC_FUNCFLAG_EXPORTONLY, "EUROCONVERT" }
}
ocVarPA
const sal_uInt8 V
Definition: xlformula.cxx:51
const sal_uInt8 EXC_FUNCFLAG_IMPORTONLY
Result is volatile (e.g. NOW() function).
Definition: xlformula.hxx:290
ocGetPivotData
ocStDevA
#define VV
Definition: xlformula.cxx:60
#define EXC_FUNCNAME(ascii)
Maximum parameter count.
Definition: xlformula.cxx:71
const sal_uInt8 MX
No BIFF/OOBIN function identifier available.
Definition: xlformula.cxx:69
#define VO
Definition: xlformula.cxx:59
const sal_uInt8 EXC_FUNCFLAG_EXPORTONLY
Only used in import filter.
Definition: xlformula.hxx:291
ocAverageA
#define VR
Definition: xlformula.cxx:62
ocMaxA
ocHyperLink
#define RX
Definition: xlformula.cxx:58
ocVarA
ocStDevPA
ocNoName
#define RO
Definition: xlformula.cxx:55
ocEuroConvert
#define RR
Definition: xlformula.cxx:57
ocBahtText
#define RO_E
Definition: xlformula.cxx:64
ocMinA

Functions new in BIFF8.

Unsupported functions: PHONETIC.

Definition at line 367 of file xlformula.cxx.

const XclFunctionInfo saFuncTable_Odf[]
Initial value:
=
{
EXC_FUNCENTRY_ODF( ocChiSqDist, 2, 3, 0, "CHISQDIST" ),
}
#define EXC_FUNCENTRY_ODF(opcode, minparam, maxparam, flags, asciiname)
Definition: xlformula.cxx:596

Functions defined by OpenFormula, but not supported by Calc (ocNoName) or by Excel (defined op-code).

Definition at line 601 of file xlformula.cxx.

const XclFunctionInfo saFuncTable_OOoLO[]
Initial value:
=
{
EXC_FUNCENTRY_OOO( ocErrorType, 1, 1, 0, "ORG.OPENOFFICE.ERRORTYPE" ),
EXC_FUNCENTRY_OOO_IBR( ocErrorType, 1, 1, 0, "ERRORTYPE" ),
EXC_FUNCENTRY_OOO( ocMultiArea, 1, MX, 0, "ORG.OPENOFFICE.MULTIRANGE" ),
EXC_FUNCENTRY_OOO_IBR( ocMultiArea, 1, MX, 0, "MULTIRANGE" ),
EXC_FUNCENTRY_OOO( ocBackSolver, 3, 3, 0, "ORG.OPENOFFICE.GOALSEEK" ),
EXC_FUNCENTRY_OOO_IBR( ocBackSolver,3, 3, 0, "GOALSEEK" ),
EXC_FUNCENTRY_OOO( ocEasterSunday, 1, 1, 0, "ORG.OPENOFFICE.EASTERSUNDAY" ),
EXC_FUNCENTRY_OOO_IBR( ocEasterSunday,1,1, 0, "EASTERSUNDAY" ),
EXC_FUNCENTRY_OOO( ocCurrent, 0, 0, 0, "ORG.OPENOFFICE.CURRENT" ),
EXC_FUNCENTRY_OOO_IBR( ocCurrent, 0, 0, 0, "CURRENT" ),
EXC_FUNCENTRY_OOO( ocStyle, 1, 3, 0, "ORG.OPENOFFICE.STYLE" ),
EXC_FUNCENTRY_OOO_IBR( ocStyle, 1, 3, 0, "STYLE" ),
EXC_FUNCENTRY_OOO( ocConvertOOo, 3, 3, 0, "ORG.OPENOFFICE.CONVERT" ),
EXC_FUNCENTRY_OOO( ocColor, 3, 4, 0, "ORG.LIBREOFFICE.COLOR" ),
EXC_FUNCENTRY_OOO( ocRawSubtract, 2, MX, 0, "ORG.LIBREOFFICE.RAWSUBTRACT" ),
EXC_FUNCENTRY_OOO( ocWeeknumOOo, 2, 2, 0, "ORG.LIBREOFFICE.WEEKNUM_OOO" ),
EXC_FUNCENTRY_OOO( ocForecast_ETS_MUL, 3, 6, 0, "ORG.LIBREOFFICE.FORECAST.ETS.MULT" ),
EXC_FUNCENTRY_OOO( ocForecast_ETS_PIM, 3, 7, 0, "ORG.LIBREOFFICE.FORECAST.ETS.PI.MULT" ),
EXC_FUNCENTRY_OOO( ocForecast_ETS_STM, 3, 6, 0, "ORG.LIBREOFFICE.FORECAST.ETS.STAT.MULT" ),
EXC_FUNCENTRY_OOO( ocRoundSig, 2, 2, 0, "ORG.LIBREOFFICE.ROUNDSIG" ),
EXC_FUNCENTRY_OOO( ocRegex, 2, 4, 0, "ORG.LIBREOFFICE.REGEX" ),
EXC_FUNCENTRY_OOO( ocFourier, 2, 5, 0, "ORG.LIBREOFFICE.FOURIER" ),
EXC_FUNCENTRY_OOO( ocRandomNV, 0, 0, 0, "ORG.LIBREOFFICE.RAND.NV" ),
}
#define EXC_FUNCENTRY_OOO(opcode, minparam, maxparam, flags, asciiname)
Definition: xlformula.cxx:609
#define EXC_FUNCENTRY_OOO_IBR(opcode, minparam, maxparam, flags, asciiname)
Definition: xlformula.cxx:614
const sal_uInt8 MX
No BIFF/OOBIN function identifier available.
Definition: xlformula.cxx:69

Functions defined by Calc, but not in OpenFormula nor supported by Excel.

Definition at line 618 of file xlformula.cxx.

const XclFunctionInfo saFuncTable_Oox[]
Initial value:
=
{
{ ocAverageIf, NOID, 2, 3, V, { RO, VR, RO }, EXC_FUNCFLAG_IMPORTONLY, EXC_FUNCNAME( "AVERAGEIF" ) },
{ ocAverageIf, 255, 3, 4, V, { RO_E, RO, VR, RO }, EXC_FUNCFLAG_EXPORTONLY, EXC_FUNCNAME( "AVERAGEIF" ) },
{ ocIfError, NOID, 2, 2, V, { VO, RO }, EXC_FUNCFLAG_IMPORTONLY, EXC_FUNCNAME( "IFERROR" ) },
{ ocIfError, 255, 3, 3, V, { RO_E, VO, RO }, EXC_FUNCFLAG_EXPORTONLY, EXC_FUNCNAME( "IFERROR" ) },
{ ocNetWorkdays_MS, NOID, 2, 4, V, { VR, VR, RO, RO }, EXC_FUNCFLAG_IMPORTONLY, EXC_FUNCNAME( "NETWORKDAYS.INTL" ) },
{ ocNetWorkdays_MS, 255, 3, 5, V, { RO_E, VR, VR, RO, RO }, EXC_FUNCFLAG_EXPORTONLY, EXC_FUNCNAME( "NETWORKDAYS.INTL" ) },
{ ocWorkday_MS, NOID, 2, 4, V, { VR, VR, VR, RO }, EXC_FUNCFLAG_IMPORTONLY, EXC_FUNCNAME( "WORKDAY.INTL" ) },
{ ocWorkday_MS, 255, 3, 5, V, { RO_E, VR, VR, VR, RO }, EXC_FUNCFLAG_EXPORTONLY, EXC_FUNCNAME( "WORKDAY.INTL" ) },
}
const sal_uInt8 V
Definition: xlformula.cxx:51
ocWorkday_MS
const sal_uInt8 EXC_FUNCFLAG_PARAMPAIRS
Only used in export filter.
Definition: xlformula.hxx:292
const sal_uInt16 NOID
Definition: xlformula.cxx:68
const sal_uInt8 EXC_FUNCFLAG_IMPORTONLY
Result is volatile (e.g. NOW() function).
Definition: xlformula.hxx:290
#define EXC_FUNCNAME(ascii)
Maximum parameter count.
Definition: xlformula.cxx:71
ocIfError
const sal_uInt8 MX
No BIFF/OOBIN function identifier available.
Definition: xlformula.cxx:69
#define VO
Definition: xlformula.cxx:59
const sal_uInt8 EXC_FUNCFLAG_EXPORTONLY
Only used in import filter.
Definition: xlformula.hxx:291
ocSumIfs
#define VR
Definition: xlformula.cxx:62
ocAverageIfs
ocNetWorkdays_MS
#define RO
Definition: xlformula.cxx:55
ocCountIfs
#define RO_E
Definition: xlformula.cxx:64
ocAverageIf

Functions new in OOXML.

Definition at line 389 of file xlformula.cxx.

Definition at line 51 of file xlformula.cxx.