27 #include <document.hxx>
32 mrStrm(rStrm), mnStrmPos(0), mnStrmSize(0) {}
125 if( cBuiltIn ==
'?' )
146 std::unique_ptr<ScTokenArray> pTokArr;
181 if (pTokArr->IsReference(aRange,
ScAddress()))
193 if (pTokArr->IsValidReference(aRange,
ScAddress()))
200 else if( nFmlaSize > 0 )
210 if (pTokArr && !bFunction && !
mbVBName)
221 std::unique_ptr<ScTokenArray> pArray;
244 if (!
GetDoc().GetRangeName()->insert(pData))
252 if (!pLocalNames->
insert(pData))
286 if( nCount < 0xFFFF )
287 maNameList.push_back( std::make_unique<XclImpName>( rStrm, static_cast< sal_uInt16 >( nCount + 1 ) ) );
296 if( rxName->GetXclName() == rXclName )
298 if( rxName->GetScTab() == nScTab )
299 pLocalName = rxName.get();
300 else if( rxName->IsGlobal() )
301 pGlobalName = rxName.get();
307 return pLocalName ? pLocalName : pGlobalName;
312 OSL_ENSURE( nXclNameIdx > 0,
"XclImpNameManager::GetName - index must be >0" );
313 return ( nXclNameIdx <= 0 || nXclNameIdx >
maNameList.size() ) ?
nullptr :
maNameList.at( nXclNameIdx - 1 ).get();
319 rxName->ConvertTokens();
OUString ReadRawByteString(sal_uInt16 nChars)
Reads nChar byte characters and returns the string.
const sal_uInt16 EXC_NAME_VB
const sal_Unicode EXC_BUILTIN_CRITERIA
XclImpNameManager(const XclImpRoot &rRoot)
void InsertName(const ScTokenArray *pArray)
const sal_Unicode EXC_BUILTIN_EXTRACT
void ReadName(XclImpStream &rStrm)
Reads a NAME record and creates an entry in this buffer.
std::unique_ptr< sal_Int32[]> pData
const ScRangeData * mpScData
Name inserted into the Calc document.
SC_DLLPUBLIC ScRangeName * GetRangeName(SCTAB nTab) const
TokenStrmData(XclImpStream &rStrm)
void AddExtractPos(const ScRange &rRange)
ScDocument & GetDoc() const
Returns reference to the destination document (import) or source document (export).
RootData & GetOldRoot() const
Returns old RootData struct.
const XclImpName * GetName(sal_uInt16 nXclNameIdx) const
Returns the defined name specified by its Excel index.
const XclImpRoot & GetRoot() const
Returns this root instance - for code readability in derived classes.
void Insert(RootData *pRoot, const ScRange &rRange)
const sal_uInt16 EXC_NAME_BIG
const sal_uInt16 EXC_NAME_BUILTIN
SC_DLLPUBLIC void CheckLinkFormulaNeedingCheck(const ScTokenArray &rCode)
Check token array and set link check if ocDde/ocWebservice is contained.
void StorePosition(XclImpStreamPos &rPos)
Stores current stream position into rPos.
ExcelToSc & GetOldFmlaConverter() const
Returns the old formula converter.
SC_DLLPUBLIC void GuessPosition()
OUString maScName
Original name read from the file.
void PopPosition()
Seeks to last position from user position stack.
const sal_Unicode EXC_BUILTIN_UNKNOWN
ScRangeData::Type meNameType
Calc sheet index of local names.
ScExtTabSettings & GetOrCreateTabSettings(SCTAB nTab)
MS Excel 5.0, MS Excel 7.0 (95)
ScExtDocOptions & GetExtDocOptions() const
Returns the extended document options.
XclImpAutoFilterBuffer & GetFilterManager() const
Returns the filter manager.
std::unique_ptr< ScTokenArray > GetDummy()
const XclImpName * FindName(std::u16string_view rXclName, SCTAB nScTab) const
Tries to find the name used in Calc, based on the original Excel defined name.
const sal_Unicode EXC_BUILTIN_PRINTTITLES
ScRangeListTabs & GetTitleAreaBuffer() const
Returns the buffer that contains all print titles in the document.
const sal_Unicode EXC_BUILTIN_PRINTAREA
std::unique_ptr< TokenStrmData > mpTokensData
Whether it's a user-defined macro.
virtual ConvErr Convert(std::unique_ptr< ScTokenArray > &, XclImpStream &rStrm, std::size_t nFormulaLen, bool bAllowArrays, const FORMULA_TYPE eFT=FT_CellFormula) override
OUString ReadUniString(sal_uInt16 nChars, sal_uInt8 nFlags)
Reads ext.
void SetIndex(sal_uInt16 nInd)
void Ignore(std::size_t nBytes)
Seeks forward inside the current record.
SCTAB mnScTab
Pointer to Calc defined name (no ownership).
This class represents an Excel stream position.
bool mbMacro
true = Visual Basic procedure or function.
XclBiff GetBiff() const
Returns the current BIFF version of the importer/exporter.
void PushPosition()
Pushes current position on user position stack.
const sal_uInt16 EXC_NAME_GLOBAL
BIFF2 function/command flag.
SC_DLLPUBLIC bool IsValidReference(ScRange &rRef) const
void AddAdvancedRange(const ScRange &rRange)
This class is used to import record oriented streams.
std::size_t GetSvStreamPos() const
Returns the absolute stream position.
XclImpName(const XclImpName &)=delete
Access to global data from other classes.
const sal_uInt16 EXC_NAME_PROC
const sal_uInt8 EXC_NAME2_FUNC
Represents a defined name.
const sal_uInt16 EXC_NAME_FUNC
SC_DLLPUBLIC bool insert(ScRangeData *p, bool bReuseFreeIndex=true)
Insert object into set.
void RestorePosition(const XclImpStreamPos &rPos)
Restores stream position contained in rPos.
XclImpNameList maNameList
const sal_Unicode EXC_BUILTIN_FILTERDATABASE
ScRangeListTabs & GetPrintAreaBuffer() const
Returns the buffer that contains all print areas in the document.
bool m_bDetectedRangeSegmentation false