|
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 | |
Protected Member Functions inherited from XclExpRoot | |
| 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 |
Protected Member Functions inherited from XclRoot | |
| 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... | |
| tools::Long | GetSpaceWidth () const |
| 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' - '9' digit character as well as the ' ' space char (using the 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 Protected Member Functions inherited from XclExpRoot | |
| static css::uno::Sequence< css::beans::NamedValue > | GenerateEncryptionData (std::u16string_view aPass) |
| static css::uno::Sequence< css::beans::NamedValue > | GenerateDefaultEncryptionData () |
Static Protected Member Functions inherited from XclRoot | |
| 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 2646 of file xeformula.cxx.
References make_shared().
|
overridevirtual |
Definition at line 2652 of file xeformula.cxx.
| XclTokenArrayRef XclExpFormulaCompiler::CreateErrorFormula | ( | sal_uInt8 | nErrCode | ) |
Creates a single error token containing the passed error code.
Definition at line 2695 of file xeformula.cxx.
References mxImpl.
Referenced by XclExpTableop::CreateCellTokenArray().
| XclTokenArrayRef XclExpFormulaCompiler::CreateFormula | ( | XclFormulaType | eType, |
| const ScAddress & | rScPos | ||
| ) |
Creates and returns a token array containing a single cell address.
Definition at line 2663 of file xeformula.cxx.
References eType, 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 2670 of file xeformula.cxx.
References eType, 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 2677 of file xeformula.cxx.
References ScTokenArray::AddOpCode(), eType, XclRoot::GetCurrScTab(), XclRoot::GetDoc(), XclExpRoot::GetRoot(), mxImpl, nCount, ocUnion, and ScRangeList::size().
| 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 2656 of file xeformula.cxx.
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::CreateNameXFormula | ( | sal_uInt16 | nExtSheet, |
| sal_uInt16 | nExtName | ||
| ) |
Creates a single tNameXR token for a reference to an external name.
@descr This is used i.e. for linked macros in push buttons.
Definition at line 2706 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.
@descr This is used for array formulas and shared formulas (token tExp), and multiple operation tables (token tTbl).
Definition at line 2700 of file xeformula.cxx.
References mxImpl.
Referenced by XclExpArray::CreateCellTokenArray(), XclExpShrfmla::CreateCellTokenArray(), and XclExpTableop::CreateCellTokenArray().
| bool XclExpFormulaCompiler::IsRef2D | ( | const ScComplexRefData & | rRefData | ) | const |
Definition at line 2717 of file xeformula.cxx.
References mxImpl.
| bool XclExpFormulaCompiler::IsRef2D | ( | const ScSingleRefData & | rRefData | ) | const |
Definition at line 2712 of file xeformula.cxx.
References mxImpl.
|
private |
Definition at line 88 of file xeformula.hxx.
Referenced by CreateErrorFormula(), CreateFormula(), CreateNameXFormula(), CreateSpecialRefFormula(), and IsRef2D().