LibreOffice Module sc (master)
1
|
The formula compiler to create Excel token arrays from Calc token arrays. More...
#include <xeformula.hxx>
Public Member Functions | |
XclExpFormulaCompiler (const XclExpRoot &rRoot) | |
virtual | ~XclExpFormulaCompiler () override |
XclTokenArrayRef | CreateFormula (XclFormulaType eType, const ScTokenArray &rScTokArr, const ScAddress *pScBasePos=nullptr, XclExpRefLog *pRefLog=nullptr) |
Creates and returns the token array of a formula. More... | |
XclTokenArrayRef | CreateFormula (XclFormulaType eType, const ScAddress &rScPos) |
Creates and returns a token array containing a single cell address. More... | |
XclTokenArrayRef | CreateFormula (XclFormulaType eType, const ScRange &rScRange) |
Creates and returns a token array containing a single cell range address. More... | |
XclTokenArrayRef | CreateFormula (XclFormulaType eType, const ScRangeList &rScRanges) |
Creates and returns the token array for a cell range list. More... | |
XclTokenArrayRef | CreateErrorFormula (sal_uInt8 nErrCode) |
Creates a single error token containing the passed error code. More... | |
XclTokenArrayRef | CreateSpecialRefFormula (sal_uInt8 nTokenId, const XclAddress &rXclPos) |
Creates a single token for a special cell reference. More... | |
XclTokenArrayRef | CreateNameXFormula (sal_uInt16 nExtSheet, sal_uInt16 nExtName) |
Creates a single tNameXR token for a reference to an external name. More... | |
bool | IsRef2D (const ScSingleRefData &rRefData) const |
bool | IsRef2D (const ScComplexRefData &rRefData) const |
Private Types | |
typedef std::shared_ptr< XclExpFmlaCompImpl > | XclExpFmlaCompImplRef |
Private Attributes | |
XclExpFmlaCompImplRef | mxImpl |
Additional Inherited Members | |
![]() | |
XclExpRoot (XclExpRootData &rExpRootData) | |
const XclExpRoot & | GetRoot () const |
Returns this root instance - for code readability in derived classes. More... | |
bool | IsRelUrl () const |
Returns true, if URLs should be stored relative to the document location. More... | |
sc::CompileFormulaContext & | GetCompileFormulaContext () const |
XclExpTabInfo & | GetTabInfo () const |
Returns the buffer for Calc->Excel sheet index conversion. More... | |
XclExpAddressConverter & | GetAddressConverter () const |
Returns the address converter. More... | |
XclExpFormulaCompiler & | GetFormulaCompiler () const |
Returns the formula compiler to produce formula token arrays. More... | |
XclExpProgressBar & | GetProgressBar () const |
Returns the export progress bar. More... | |
XclExpSst & | GetSst () const |
Returns the shared string table. More... | |
XclExpPalette & | GetPalette () const |
Returns the color buffer. More... | |
XclExpFontBuffer & | GetFontBuffer () const |
Returns the font buffer. More... | |
XclExpNumFmtBuffer & | GetNumFmtBuffer () const |
Returns the number format buffer. More... | |
XclExpXFBuffer & | GetXFBuffer () const |
Returns the cell formatting attributes buffer. More... | |
XclExpLinkManager & | GetGlobalLinkManager () const |
Returns the global link manager for defined names. More... | |
XclExpLinkManager & | GetLocalLinkManager () const |
Returns the local link manager for the current sheet. More... | |
XclExpNameManager & | GetNameManager () const |
Returns the buffer that contains internal defined names. More... | |
XclExpObjectManager & | GetObjectManager () const |
Returns the drawing object manager. More... | |
XclExpFilterManager & | GetFilterManager () const |
Returns the filter manager. More... | |
XclExpPivotTableManager & | GetPivotTableManager () const |
Returns the pivot table manager. More... | |
XclExpDxfs & | GetDxfs () const |
Returns the differential formatting list. More... | |
OStringBuffer & | GetStringBuf () const |
Clean and return the OStringBuffer. More... | |
XclExpXmlPivotTableManager & | GetXmlPivotTableManager () |
XclExpTablesManager & | GetTablesManager () |
void | InitializeConvert () |
Is called when export filter starts to create the Excel document (all BIFF versions). More... | |
void | InitializeGlobals () |
Is called when export filter starts to create the workbook global data (>=BIFF5). More... | |
void | InitializeTable (SCTAB nScTab) |
Is called when export filter starts to create data for a single sheet (all BIFF versions). More... | |
void | InitializeSave () |
Is called before export filter starts to write the records to the stream. More... | |
XclExpRecordRef | CreateRecord (sal_uInt16 nRecId) const |
Returns the reference to a record (or record list) representing a root object. More... | |
bool | IsDocumentEncrypted () const |
css::uno::Sequence< css::beans::NamedValue > | GetEncryptionData () const |
![]() | |
XclRoot (XclRootData &rRootData) | |
XclRoot (const XclRoot &rRoot) | |
virtual | ~XclRoot () |
XclRoot & | operator= (const XclRoot &rRoot) |
RootData & | GetOldRoot () const |
Returns old RootData struct. More... | |
XclBiff | GetBiff () const |
Returns the current BIFF version of the importer/exporter. More... | |
XclOutput | GetOutput () const |
Returns the current output format of the importer/exporter. More... | |
bool | IsImport () const |
Returns true, if currently a document is imported. More... | |
rtl_TextEncoding | GetTextEncoding () const |
Returns the text encoding to import/export byte strings. More... | |
LanguageType | GetSysLanguage () const |
Returns the system language, i.e. More... | |
LanguageType | GetDocLanguage () const |
Returns the document language. More... | |
LanguageType | GetUILanguage () const |
Returns the UI language. More... | |
sal_Int16 | GetDefApiScript () const |
Returns the default script type, e.g. More... | |
tools::Long | GetCharWidth () const |
Returns the width of the '0' character (default font) for the current printer (twips). More... | |
bool | IsInGlobals () const |
Returns the current Calc sheet index. More... | |
SCTAB | GetCurrScTab () const |
Returns the current Calc sheet index. More... | |
sal_Int32 | GetHmmFromPixelX (double fPixelX) const |
Calculates the width of the passed number of pixels in 1/100 mm. More... | |
sal_Int32 | GetHmmFromPixelY (double fPixelY) const |
Calculates the height of the passed number of pixels in 1/100 mm. More... | |
SfxMedium & | GetMedium () const |
Returns the medium to import from. More... | |
const OUString & | GetDocUrl () const |
Returns the document URL of the imported/exported file. More... | |
const OUString & | GetBasePath () const |
Returns the base path of the imported/exported file. More... | |
const OUString & | GetUserName () const |
Returns the current user name. More... | |
css::uno::Sequence< css::beans::NamedValue > | RequestEncryptionData (::comphelper::IDocPasswordVerifier &rVerifier) const |
Requests and verifies a password from the medium or the user. More... | |
const tools::SvRef< SotStorage > & | GetRootStorage () const |
Returns the OLE2 root storage of the imported/exported file. More... | |
bool | HasVbaStorage () const |
Returns true, if the document contains a VBA storage. More... | |
tools::SvRef< SotStorage > | OpenStorage (tools::SvRef< SotStorage > const &xStrg, const OUString &rStrgName) const |
Tries to open a storage as child of the specified storage for reading or writing. More... | |
tools::SvRef< SotStorage > | OpenStorage (const OUString &rStrgName) const |
Tries to open a storage as child of the root storage for reading or writing. More... | |
tools::SvRef< SotStorageStream > | OpenStream (tools::SvRef< SotStorage > const &xStrg, const OUString &rStrmName) const |
Tries to open a new stream in the specified storage for reading or writing. More... | |
tools::SvRef< SotStorageStream > | OpenStream (const OUString &rStrmName) const |
Tries to open a new stream in the root storage for reading or writing. More... | |
ScDocument & | GetDoc () const |
Returns reference to the destination document (import) or source document (export). More... | |
SfxObjectShell * | GetDocShell () const |
Returns the object shell of the Calc document. More... | |
ScModelObj * | GetDocModelObj () const |
Returns the object model of the Calc document. More... | |
OutputDevice * | GetPrinter () const |
Returns pointer to the printer of the Calc document. More... | |
ScStyleSheetPool & | GetStyleSheetPool () const |
Returns the style sheet pool of the Calc document. More... | |
ScRangeName & | GetNamedRanges () const |
Returns the defined names container of the Calc document. More... | |
SdrPage * | GetSdrPage (SCTAB nScTab) const |
Returns the drawing layer page of the passed sheet, if present. More... | |
SvNumberFormatter & | GetFormatter () const |
Returns the number formatter of the Calc document. More... | |
DateTime | GetNullDate () const |
Returns the null date of the current number formatter. More... | |
sal_uInt16 | GetBaseYear () const |
Returns the base year depending on the current null date (1900 or 1904). More... | |
double | GetDoubleFromDateTime (const DateTime &rDateTime) const |
Converts a date/time value to a floating-point value. More... | |
DateTime | GetDateTimeFromDouble (double fValue) const |
Converts a floating-point value to a date/time value. More... | |
ScEditEngineDefaulter & | GetEditEngine () const |
Returns the edit engine for import/export of rich strings etc. More... | |
ScHeaderEditEngine & | GetHFEditEngine () const |
Returns the edit engine for import/export of headers/footers. More... | |
EditEngine & | GetDrawEditEngine () const |
Returns the edit engine for import/export of drawing text boxes. More... | |
XclFontPropSetHelper & | GetFontPropSetHelper () const |
Returns the property set helper for fonts. More... | |
XclChPropSetHelper & | GetChartPropSetHelper () const |
Returns the property set helper for the chart filters. More... | |
ScExtDocOptions & | GetExtDocOptions () const |
Returns the extended document options. More... | |
XclTracer & | GetTracer () const |
Returns the filter tracer. More... | |
const ScAddress & | GetScMaxPos () const |
Returns the highest possible cell address in a Calc document. More... | |
const ScAddress & | GetXclMaxPos () const |
Returns the highest possible cell address in an Excel document (using current BIFF version). More... | |
const ScAddress & | GetMaxPos () const |
Returns the highest possible cell address valid in Calc and Excel (using current BIFF version). More... | |
void | SetDocLanguage (LanguageType eLang) |
Sets the document language. More... | |
void | SetUILanguage (LanguageType eLang) |
Sets the UI language, i.e. More... | |
void | SetTextEncoding (rtl_TextEncoding eTextEnc) |
Sets the text encoding to import/export byte strings. More... | |
void | SetCharWidth (const XclFontData &rFontData) |
Sets the width of the '0' character (default font) for the current printer (twips). More... | |
void | SetCurrScTab (SCTAB nScTab) |
Sets the current Calc sheet index. More... | |
void | IncCurrScTab () |
Increases the current Calc sheet index by 1. More... | |
![]() | |
static css::uno::Sequence< css::beans::NamedValue > | GenerateEncryptionData (const OUString &aPass) |
static css::uno::Sequence< css::beans::NamedValue > | GenerateDefaultEncryptionData () |
![]() | |
static OUString | GetDefaultPassword () |
Returns the default password used for stream encryption. More... | |
The formula compiler to create Excel token arrays from Calc token arrays.
Definition at line 51 of file xeformula.hxx.
|
private |
Definition at line 87 of file xeformula.hxx.
|
explicit |
Definition at line 2627 of file xeformula.cxx.
References make_shared().
|
overridevirtual |
Definition at line 2633 of file xeformula.cxx.
XclTokenArrayRef XclExpFormulaCompiler::CreateErrorFormula | ( | sal_uInt8 | nErrCode | ) |
Creates a single error token containing the passed error code.
Definition at line 2676 of file xeformula.cxx.
References mxImpl.
Referenced by XclExpTableop::CreateCellTokenArray(), and XclExpFormulaCell::Save().
XclTokenArrayRef XclExpFormulaCompiler::CreateFormula | ( | XclFormulaType | eType, |
const ScTokenArray & | rScTokArr, | ||
const ScAddress * | pScBasePos = nullptr , |
||
XclExpRefLog * | pRefLog = nullptr |
||
) |
Creates and returns the token array of a formula.
Definition at line 2637 of file xeformula.cxx.
References mxImpl.
Referenced by XclExpChSourceLink::ConvertDataSequence(), XclExpControlHelper::ConvertSheetLinks(), XclExpArrayBuffer::CreateArray(), XclExpNameManagerImpl::CreateName(), XclExpShrfmlaBuffer::CreateOrExtendShrfmla(), XclExpChTrCellContent::GetCellData(), XclExpNameManager::InsertBuiltInName(), XclExpCFImpl::WriteBody(), XclExpDV::XclExpDV(), XclExpFormulaCell::XclExpFormulaCell(), and XclExpWebQueryBuffer::XclExpWebQueryBuffer().
XclTokenArrayRef XclExpFormulaCompiler::CreateFormula | ( | XclFormulaType | eType, |
const ScAddress & | rScPos | ||
) |
Creates and returns a token array containing a single cell address.
Definition at line 2644 of file xeformula.cxx.
References XclRoot::GetCurrScTab(), XclRoot::GetDoc(), XclExpRoot::GetRoot(), and mxImpl.
XclTokenArrayRef XclExpFormulaCompiler::CreateFormula | ( | XclFormulaType | eType, |
const ScRange & | rScRange | ||
) |
Creates and returns a token array containing a single cell range address.
Definition at line 2651 of file xeformula.cxx.
References XclRoot::GetCurrScTab(), XclRoot::GetDoc(), XclExpRoot::GetRoot(), and mxImpl.
XclTokenArrayRef XclExpFormulaCompiler::CreateFormula | ( | XclFormulaType | eType, |
const ScRangeList & | rScRanges | ||
) |
Creates and returns the token array for a cell range list.
Definition at line 2658 of file xeformula.cxx.
References ScTokenArray::AddOpCode(), XclRoot::GetCurrScTab(), XclRoot::GetDoc(), XclExpRoot::GetRoot(), mxImpl, nCount, ocUnion, and ScRangeList::size().
XclTokenArrayRef XclExpFormulaCompiler::CreateNameXFormula | ( | sal_uInt16 | nExtSheet, |
sal_uInt16 | nExtName | ||
) |
Creates a single tNameXR token for a reference to an external name.
This is used i.e. for linked macros in push buttons.
Definition at line 2687 of file xeformula.cxx.
References mxImpl.
Referenced by XclMacroHelper::SetMacroLink().
XclTokenArrayRef XclExpFormulaCompiler::CreateSpecialRefFormula | ( | sal_uInt8 | nTokenId, |
const XclAddress & | rXclPos | ||
) |
Creates a single token for a special cell reference.
This is used for array formulas and shared formulas (token tExp), and multiple operation tables (token tTbl).
Definition at line 2681 of file xeformula.cxx.
References mxImpl.
Referenced by XclExpArray::CreateCellTokenArray(), XclExpShrfmla::CreateCellTokenArray(), and XclExpTableop::CreateCellTokenArray().
bool XclExpFormulaCompiler::IsRef2D | ( | const ScSingleRefData & | rRefData | ) | const |
Definition at line 2693 of file xeformula.cxx.
References mxImpl.
bool XclExpFormulaCompiler::IsRef2D | ( | const ScComplexRefData & | rRefData | ) | const |
Definition at line 2698 of file xeformula.cxx.
References mxImpl.
|
private |
Definition at line 88 of file xeformula.hxx.
Referenced by CreateErrorFormula(), CreateFormula(), CreateNameXFormula(), CreateSpecialRefFormula(), and IsRef2D().