22#include <com/sun/star/container/XIndexAccess.hpp>
23#include <com/sun/star/container/XNameContainer.hpp>
24#include <com/sun/star/lang/IndexOutOfBoundsException.hpp>
25#include <com/sun/star/sheet/XDatabaseRanges.hpp>
26#include <com/sun/star/sheet/XSpreadsheet.hpp>
27#include <com/sun/star/sheet/XSpreadsheetDocument.hpp>
28#include <com/sun/star/sheet/NamedRangeFlag.hpp>
29#include <com/sun/star/style/XStyleFamiliesSupplier.hpp>
30#include <com/sun/star/document/XDocumentProperties.hpp>
31#include <com/sun/star/document/XDocumentPropertiesSupplier.hpp>
32#include <com/sun/star/document/XViewDataSupplier.hpp>
35#include <osl/thread.h>
36#include <osl/diagnose.h>
40#include <oox/token/properties.hxx>
61#include <document.hxx>
64#include <tokenarray.hxx>
94using ::oox::core::FilterBase;
95using ::oox::core::FragmentHandler;
96using ::oox::core::XmlFilterBase;
154 Reference< XNameContainer >
getStyleFamily(
bool bPageStyles )
const;
156 Reference< XStyle >
getStyleObject(
const OUString& rStyleName,
bool bPageStyle )
const;
262 Reference< XSpreadsheetDocument >
mxDoc;
307 mrBaseFilter( rFilter ),
308 mrExcelFilter( rFilter ),
309 mpOoxFilter( &rFilter ),
336 Reference< XNameContainer > xStylesNC;
339 Reference< XStyleFamiliesSupplier > xFamiliesSup(
mxDoc, UNO_QUERY_THROW );
340 Reference< XNameAccess > xFamiliesNA( xFamiliesSup->getStyleFamilies(), UNO_SET_THROW );
346 OSL_ENSURE( xStylesNC.is(),
"WorkbookGlobals::getStyleFamily - cannot access style family" );
352 Reference< XStyle > xStyle;
355 Reference< XNameContainer > xStylesNC(
getStyleFamily( bPageStyle ), UNO_SET_THROW );
356 xStyle.set( xStylesNC->getByName( rStyleName ), UNO_QUERY );
361 OSL_ENSURE( xStyle.is(),
"WorkbookGlobals::getStyleObject - cannot access style object" );
385 if ( pNames->
insert(pNew) )
395OUString findUnusedName(
const ScRangeName* pRangeName,
const OUString& rSuggestedName )
397 OUString aNewName = rSuggestedName;
400 aNewName = rSuggestedName + OUStringChar(
'_') + OUString::number( nIndex++ );
408 OUString& orName, sal_Int32 nIndex, sal_Int32 nNameFlags,
bool bHidden)
412 if( !orName.isEmpty() )
417 orName = findUnusedName( pNames, orName );
419 aScRangeData = lcl_addNewByName(rDoc, pNames, orName,
nIndex, nNameFlags, bHidden);
425 OUString& orName, sal_Int32 nIndex, sal_Int32 nNameFlags, sal_Int32 nTab,
bool bHidden)
429 if( !orName.isEmpty() )
436 orName = findUnusedName( pNames, orName );
438 aScRangeData = lcl_addNewByName(rDoc, pNames, orName,
nIndex, nNameFlags, bHidden);
446 ScRange aDestRange = rRangeAddr;
450 Reference< XDatabaseRange > xDatabaseRange;
451 if( bValidRange && !orName.isEmpty() )
try
455 Reference< XDatabaseRanges > xDatabaseRanges( aDocProps.
getAnyProperty( PROP_DatabaseRanges ), UNO_QUERY_THROW );
460 xDatabaseRanges->addNewByName( orName, aApiRange );
461 xDatabaseRange.set( xDatabaseRanges->getByName( orName ), UNO_QUERY );
466 OSL_ENSURE( xDatabaseRange.is(),
"WorkbookGlobals::createDatabaseRangeObject - cannot create database range" );
467 return xDatabaseRange;
473 ScRange aDestRange = rRangeAddr;
477 Reference< XDatabaseRange > xDatabaseRange;
478 if( bValidRange )
try
482 throw css::lang::IndexOutOfBoundsException();
493 OSL_ENSURE( xDatabaseRange.is(),
"WorkbookData::createDatabaseRangeObject - cannot create database range" );
494 return xDatabaseRange;
507 Reference< XStyle > xStyle;
510 Reference< XNameContainer > xStylesNC(
getStyleFamily( bPageStyle ), UNO_SET_THROW );
517 OSL_ENSURE( xStyle.is(),
"WorkbookGlobals::createStyleObject - cannot create style" );
546 OSL_ENSURE(
mxDoc.is(),
"WorkbookGlobals::initialize - no spreadsheet document" );
558 throw RuntimeException(
"Workbookhelper::getScDocument(): Failed to access ScDocument from model");
560 Reference< XDocumentPropertiesSupplier > xPropSupplier(
mxDoc, UNO_QUERY);
561 Reference< XDocumentProperties > xDocProps = xPropSupplier->getDocumentProperties();
562 const OUString aGenerator( xDocProps->getGenerator());
564 if (aGenerator.startsWithIgnoreAsciiCase(
"Microsoft"))
571 else if (aGenerator.startsWithIgnoreAsciiCase(
"LibreOffice"))
583 mxTheme = std::make_shared<ThemeBuffer>( *
this );
666 if( !xBookGlob->isValid() )
723 if( xVbaPrjStrg && xVbaPrjStrg->isStorage() )
750 if ( !aCalcConfig.mbHasStringRefSyntax )
757 Reference<XViewDataSupplier> xViewDataSupplier(
getDocument(), UNO_QUERY);
758 if (!xViewDataSupplier.is())
761 Reference<XIndexAccess> xIndexAccess(xViewDataSupplier->getViewData());
762 if (!(xIndexAccess.is() && xIndexAccess->getCount() > 0))
765 Sequence< PropertyValue >
aSeq;
766 if (!(xIndexAccess->getByIndex(0) >>=
aSeq))
770 Reference< XNameAccess > xSheetsNC;
771 for (
const auto& rProp : std::as_const(
aSeq))
773 OUString
sName(rProp.Name);
776 if(rProp.Value >>= sTabName)
785 rProp.Value >>= xSheetsNC;
788 if (!(xSheetsNC.is() && xSheetsNC->hasByName(sTabName)))
792 Any aAny = xSheetsNC->getByName(sTabName);
796 for (
const auto& rProp : std::as_const(
aProperties))
798 OUString
sName(rProp.Name);
801 SCCOL nPosLeft = *o3tl::doAccess<SCCOL>(rProp.Value);
806 SCROW nPosTop = *o3tl::doAccess<SCROW>(rProp.Value);
846 Reference< XSpreadsheet > xSheet;
849 Reference< XIndexAccess > xSheetsIA(
getDocument()->getSheets(), UNO_QUERY_THROW );
850 xSheet.set( xSheetsIA->getByIndex( nSheet ), UNO_QUERY_THROW );
860 Reference< XSpreadsheet > xSheet;
863 Reference< XNameAccess > xSheetsNA(
getDocument()->getSheets(), UNO_QUERY_THROW );
864 xSheet.set( xSheetsNA->getByName( rSheet ), UNO_QUERY );
874 Reference< XCellRange > xRange;
PropertiesInfo aProperties
constexpr OUStringLiteral SC_TABLES
constexpr OUStringLiteral SC_POSITIONLEFT
constexpr OUStringLiteral SC_ACTIVETABLE
constexpr OUStringLiteral SC_POSITIONTOP
OUString uppercase(const OUString &rStr, sal_Int32 nPos, sal_Int32 nCount) const
ScDBData * findByIndex(sal_uInt16 nIndex)
const ScDocument & GetDocument() const
void UpdateAllRowHeights(const ScMarkData *pTabMark=nullptr)
Accessor class to ScDocument.
SC_DLLPUBLIC SfxItemPool * GetEnginePool() const
const ScCalcConfig & GetCalcConfig() const
SC_DLLPUBLIC void SetVisibleTab(SCTAB nTab)
SC_DLLPUBLIC void EnableUndo(bool bVal)
void EnableExecuteLink(bool bVal)
SC_DLLPUBLIC SfxItemPool * GetEditPool() const
SC_DLLPUBLIC ScDrawLayer * GetDrawLayer()
SC_DLLPUBLIC void SetCalcConfig(const ScCalcConfig &rConfig)
SC_DLLPUBLIC ScDBCollection * GetDBCollection() const
SfxObjectShell * GetDocumentShell() const
void SetInsertingFromOtherDoc(bool bVal)
void EnableChangeReadOnly(bool bVal)
SC_DLLPUBLIC ScRangeName * GetRangeName(SCTAB nTab) const
SC_DLLPUBLIC void SetPosTop(SCROW nRow)
SC_DLLPUBLIC void SetPosLeft(SCCOL nCol)
SC_DLLPUBLIC void UnlockAdjustHeight()
SC_DLLPUBLIC void SetAnonymousDBData(SCTAB nTab, std::unique_ptr< ScDBData > pDBData)
SC_DLLPUBLIC SCTAB GetTableCount() const
static SC_DLLPUBLIC const CharClass & getCharClass()
SfxObjectShell * GetEmbeddedObject() const
SC_DLLPUBLIC void GuessPosition()
void SetIndex(sal_uInt16 nInd)
SC_DLLPUBLIC ScRangeData * findByUpperName(const OUString &rName)
SC_DLLPUBLIC bool insert(ScRangeData *p, bool bReuseFreeIndex=true)
Insert object into set.
static OUString getUnusedName(const css::uno::Reference< css::container::XNameAccess > &rxNameAccess, const OUString &rSuggestedName, sal_Unicode cSeparator)
static OUString insertByUnusedName(const css::uno::Reference< css::container::XNameContainer > &rxNameContainer, const OUString &rSuggestedName, sal_Unicode cSeparator, const css::uno::Any &rObject)
css::uno::Any getAnyProperty(sal_Int32 nPropId) const
bool setProperty(sal_Int32 nPropId, const Type &rValue)
::oox::ole::VbaProject & getVbaProject() const
bool importFragment(const rtl::Reference< FragmentHandler > &rxHandler)
void importModulesAndForms(StorageBase &rVbaPrjStrg, const GraphicHelper &rGraphicHelper)
Converter for cell addresses and cell ranges for OOXML and BIFF filters.
bool validateCellRange(ScRange &orRange, bool bAllowOverflow, bool bTrackOverflow)
Checks the passed cell range, may try to fit it to current sheet limits.
void registerWorkbookGlobals(WorkbookGlobals &rBookGlob)
void unregisterWorkbookGlobals()
void finalizeImport()
Inserts all pivot tables into the sheet.
void finalizeImport()
Creates all scenarios in the Calc document.
Collects all strings from the shared strings substream.
Helper class that provides functions to convert values from and to different units.
void finalizeImport()
Converts all imported document view settings.
void finalize()
Finalizes the filter process (sets some needed document properties).
ScenarioBuffer & getScenarios() const
Returns the scenarios collection.
EditEngineDefaulterPtr mxEditEngine
Page/print settings converter.
::std::unique_ptr< ScenarioBuffer > ScenarioBfrPtr
ExcelChartConvPtr mxChartConverter
Cell address and cell range address converter.
const Reference< XSpreadsheetDocument > & getDocument() const
Returns a reference to the source/target spreadsheet document model.
FilterBase & getBaseFilter() const
Returns the base filter object (base class of all filters).
PivotTableBuffer & getPivotTables()
Returns the collection of pivot tables.
WorksheetBuffer & getWorksheets() const
Returns the worksheet buffer containing sheet names and properties.
rtl_TextEncoding meTextEnc
Base OOXML/BIFF12 filter object.
void setCalculatedFormulaCells()
::std::unique_ptr< SegmentProgressBar > ProgressBarPtr
FormulaParser & getFormulaParser() const
Returns a shared import formula parser.
PivotCacheBuffer & getPivotCaches() const
Returns the collection of pivot caches.
Reference< XStyle > createStyleObject(OUString &orStyleName, bool bPageStyle)
Creates and returns a com.sun.star.style.Style object for cells or pages.
DefNamesBfrPtr mxDefNames
All external links.
std::unique_ptr< ScDocumentImport > mxDocImport
SegmentProgressBar & getProgressBar() const
Returns the filter progress bar.
::std::unique_ptr< FormulaParser > FormulaParserPtr
::std::unique_ptr< SharedStringsBuffer > SharedStrBfrPtr
bool isGeneratorKnownGood() const
Returns true when reading a file generated by a known good generator.
Reference< XDatabaseRange > createDatabaseRangeObject(OUString &orName, const ScRange &rRangeAddr)
Creates and returns a database range on-the-fly in the Calc document.
sal_Int16 mnCurrSheet
Storage containing the VBA project.
AddressConvPtr mxAddrConverter
General unit converter.
WorksheetBfrPtr mxWorksheets
Workbook and sheet view settings.
StorageRef mxVbaPrjStrg
The progress bar.
TableBfrPtr mxTables
All defined names.
XmlFilterBase * mpOoxFilter
WorkbookHelper::RangeDataRet createNamedRangeObject(OUString &orName, sal_Int32 nIndex, sal_Int32 nNameFlags, bool bHidden)
Creates and returns a defined name on-the-fly in the Calc document.
DefinedNamesBuffer & getDefinedNames() const
Returns the defined names read from the workbook globals.
::std::unique_ptr< WorkbookSettings > WorkbookSettPtr
::std::unique_ptr< ViewSettings > ViewSettingsPtr
Reference< XStyle > getStyleObject(const OUString &rStyleName, bool bPageStyle) const
Returns the specified cell or page style from the Calc document.
::std::unique_ptr< AddressConverter > AddressConvPtr
FormulaParser * createFormulaParser()
Returns an unshared import formula parser.
PivotCacheBfrPtr mxPivotCaches
All external data connections.
Reference< XSpreadsheetDocument > mxDoc
Service name for a page style.
::std::unique_ptr< PivotCacheBuffer > PivotCacheBfrPtr
PivotTableBfrPtr mxPivotTables
All pivot caches in the document.
void useInternalChartDataTable(bool bInternal)
Helper to switch chart data table - specifically for xlsx imports.
ThemeBuffer & getTheme() const
Returns the office theme object read from the theme substorage.
::std::unique_ptr< PivotTableBuffer > PivotTableBfrPtr
Reference< XNameContainer > getStyleFamily(bool bPageStyles) const
Returns the cell or page styles container from the Calc document.
const StorageRef & getVbaProjectStorage() const
Returns the VBA project storage.
oox::drawingml::chart::ChartConverter * getChartConverter() const
Returns the chart object converter.
::std::unique_ptr< TableBuffer > TableBfrPtr
StylesBfrPtr mxStyles
Formatting theme from theme substream.
bool isValid() const
Returns true, if this helper refers to a valid document.
::std::unique_ptr< ConnectionsBuffer > ConnectionsBfrPtr
XmlFilterBase & getOoxFilter() const
Returns the base OOXML/BIFF12 filter object.
Reference< XDatabaseRange > createUnnamedDatabaseRangeObject(const ScRange &rRangeAddr)
Creates and returns an unnamed database range on-the-fly in the Calc document.
::std::shared_ptr< ThemeBuffer > ThemeBfrRef
OUString maPageStyleServ
Service name for a cell style.
bool hasCalculatedFormulaCells() const
Returns true if any formula cell appears to have a calculated value not 0.0 nor "",...
::std::unique_ptr< UnitConverter > UnitConvPtr
WorkbookSettings & getWorkbookSettings() const
Returns the global workbook settings object.
OUString maCellStyleServ
Style family name for page styles.
void initialize()
Initializes some basic members and sets needed document properties.
ProgressBarPtr mxProgressBar
Base object for registration of this structure.
::std::unique_ptr< FormulaBuffer > FormulaBufferPtr
::std::unique_ptr< WorksheetBuffer > WorksheetBfrPtr
sal_Int16 getCurrentSheetIndex() const
Returns the index of the current Calc sheet, if filter currently processes a sheet.
FilterBase & mrBaseFilter
Document model.
ViewSettingsPtr mxViewSettings
Global workbook settings.
FormulaBufferPtr mxFormulaBuffer
Assumed to have calculated formula cells.
::std::unique_ptr< oox::drawingml::chart::ChartConverter > ExcelChartConvPtr
::std::unique_ptr< ExternalLinkBuffer > ExtLinkBfrPtr
AddressConverter & getAddressConverter() const
Returns the converter for string to cell address/range conversion.
ScDocument * mpDoc
BIFF byte string text encoding.
bool mbHasCalculatedFormulaCells
Whether reading a file generated by Excel or Calc.
rtl_TextEncoding getTextEncoding() const
Returns the text encoding used to import/export byte strings.
UnitConvPtr mxUnitConverter
Import formula parser.
WorkbookGlobals(const WorkbookGlobals &)=delete
ExternalLinkBuffer & getExternalLinks() const
Returns the external links read from the external links substream.
StylesBuffer & getStyles() const
Returns all cell formatting objects read from the styles substream.
::std::unique_ptr< StylesBuffer > StylesBfrPtr
::std::unique_ptr< DefinedNamesBuffer > DefNamesBfrPtr
void setCurrentSheetIndex(SCTAB nSheet)
Sets the index of the current Calc sheet, if filter currently processes a sheet.
TableBuffer & getTables() const
Returns the tables collection (equivalent to Calc's database ranges).
WorkbookSettPtr mxWorkbookSettings
const WorkbookGlobals & operator=(const WorkbookGlobals &)=delete
ConnectionsBfrPtr mxConnections
All scenarios.
ViewSettings & getViewSettings() const
Returns the workbook and sheet view settings object.
SharedStrBfrPtr mxSharedStrings
All cell style objects from styles substream.
ScDocumentImport & getDocImport()
ConnectionsBuffer & getConnections() const
Returns the collection of external data connections.
ScDocument & getScDocument()
SharedStringsBuffer & getSharedStrings() const
Returns the shared strings read from the shared strings substream.
PageSettingsConverter & getPageSettingsConverter() const
Returns the page/print settings converter.
ExtLinkBfrPtr mxExtLinks
All strings from shared strings substream.
::std::unique_ptr< PageSettingsConverter > PageSettConvPtr
ExcelFilter & mrExcelFilter
Base filter object.
ScDBData * findDatabaseRangeByIndex(sal_uInt16 nIndex)
Finds the (already existing) database range of the given formula token index.
bool mbGeneratorKnownGood
Current sheet index in Calc document.
PageSettConvPtr mxPageSettConverter
Chart object converter.
FormulaParserPtr mxFmlaParser
All pivot tables in the document.
ScenarioBfrPtr mxScenarios
All tables (database ranges).
OUString maPageStyles
Style family name for cell styles.
void setVbaProjectStorage(const StorageRef &rxVbaPrjStrg)
Sets the VBA project storage used to import VBA source code and forms.
WorkbookHelper::RangeDataRet createLocalNamedRangeObject(OUString &orName, sal_Int32 nIndex, sal_Int32 nNameFlags, sal_Int32 nTab, bool bHidden)
Creates and returns a defined name on the-fly in the correct Calc sheet.
FormulaBuffer & getFormulaBuffer() const
ThemeBfrRef mxTheme
Sheet info buffer.
::std::unique_ptr< ScEditEngineDefaulter > EditEngineDefaulterPtr
ScEditEngineDefaulter & getEditEngine() const
UnitConverter & getUnitConverter() const
Returns the measurement unit converter.
void useInternalChartDataTable(bool bInternal)
bool isGeneratorKnownGood() const
Returns true when reading a file generated by a known good generator.
oox::drawingml::chart::ChartConverter * getChartConverter() const
Returns the chart object converter.
css::uno::Reference< css::style::XStyle > createStyleObject(OUString &orStyleName, bool bPageStyle) const
Creates and returns a com.sun.star.style.Style object for cells or pages.
void setCalculatedFormulaCells()
Set if any formula cell is calculated.
SharedStringsBuffer & getSharedStrings() const
Returns the shared strings read from the shared strings substream.
ScEditEngineDefaulter & getEditEngine() const
css::uno::Reference< css::sheet::XSpreadsheet > getSheetFromDoc(sal_Int32 nSheet) const
Returns a reference to the specified spreadsheet in the document model.
bool hasCalculatedFormulaCells() const
Returns true if any formula cell is calculated.
static WorkbookGlobalsRef constructGlobals(ExcelFilter &rFilter)
rtl_TextEncoding getTextEncoding() const
Returns the text encoding used to import/export byte strings.
bool importOoxFragment(const rtl::Reference< oox::core::FragmentHandler > &rxHandler)
Imports a fragment using the passed fragment handler, which contains the full path to the fragment st...
::oox::core::XmlFilterBase & getOoxFilter() const
Returns the base OOXML/BIFF12 filter object.
std::pair< ScRangeData *, bool > RangeDataRet
WorksheetBuffer & getWorksheets() const
Returns the worksheet buffer containing sheet names and properties.
PivotCacheBuffer & getPivotCaches() const
Returns the collection of pivot caches.
ScenarioBuffer & getScenarios() const
Returns the scenarios collection.
PageSettingsConverter & getPageSettingsConverter() const
Returns the page and print settings converter.
void setCurrentSheetIndex(SCTAB nSheet)
Sets the index of the current Calc sheet, if filter currently processes a sheet.
AddressConverter & getAddressConverter() const
Returns the converter for string to cell address/range conversion.
css::uno::Reference< css::sheet::XDatabaseRange > createDatabaseRangeObject(OUString &orName, const ScRange &rRangeAddr) const
Creates and returns a database range on-the-fly in the Calc document.
WorkbookSettings & getWorkbookSettings() const
Returns the global workbook settings object.
WorkbookGlobals & mrBookGlob
sal_Int16 getCurrentSheetIndex() const
Returns the index of the current Calc sheet, if filter currently processes a sheet.
css::uno::Reference< css::container::XNameContainer > getCellStyleFamily() const
Returns the cell styles container from the Calc document.
StylesBuffer & getStyles() const
Returns all cell formatting objects read from the styles substream.
css::uno::Reference< css::table::XCellRange > getCellRangeFromDoc(const ScRange &rRange) const
Returns the XCellRange interface for the passed cell range address.
ScDBData * findDatabaseRangeByIndex(sal_uInt16 nIndex) const
Finds the (already existing) database range of the given formula token index.
RangeDataRet createLocalNamedRangeObject(OUString &orName, sal_Int32 nIndex, sal_Int32 nNameFlags, sal_Int32 nTab, bool bHidden) const
Creates and returns a defined name on-the-fly in the sheet.
FormulaBuffer & getFormulaBuffer() const
PivotTableBuffer & getPivotTables() const
Returns the collection of pivot tables.
ScDocument & getScDocument()
DefinedNamesBuffer & getDefinedNames() const
Returns the defined names read from the workbook globals.
ViewSettings & getViewSettings() const
Returns the workbook and sheet view settings object.
ScDocumentImport & getDocImport()
ThemeBuffer & getTheme() const
Returns the office theme object read from the theme substorage.
css::uno::Reference< css::sheet::XDatabaseRange > createUnnamedDatabaseRangeObject(const ScRange &rRangeAddr) const
Creates and returns an unnamed database range on-the-fly in the Calc document.
UnitConverter & getUnitConverter() const
Returns the measurement unit converter.
FormulaParser * createFormulaParser() const
Returns an unshared import formula parser (import filter only!).
virtual ~WorkbookHelper()
void setVbaProjectStorage(const StorageRef &rxVbaPrjStrg)
Sets the VBA project storage used to import VBA source code and forms.
::oox::core::FilterBase & getBaseFilter() const
Returns the base filter object (base class of all filters).
void finalizeWorkbookImport()
Final conversion after importing the workbook.
css::uno::Reference< css::style::XStyle > getStyleObject(const OUString &rStyleName, bool bPageStyle) const
Returns the specified cell or page style from the Calc document.
TableBuffer & getTables() const
Returns the tables collection (equivalent to Calc's database ranges).
ConnectionsBuffer & getConnections() const
Returns the collection of external data connections.
const css::uno::Reference< css::sheet::XSpreadsheetDocument > & getDocument() const
Returns a reference to the source/target spreadsheet document model.
SegmentProgressBar & getProgressBar() const
Returns the filter progress bar.
FormulaParser & getFormulaParser() const
Returns a shared import formula parser (import filter only!).
ExternalLinkBuffer & getExternalLinks() const
Returns the external links read from the external links substream.
RangeDataRet createNamedRangeObject(OUString &orName, sal_Int32 nIndex, sal_Int32 nNameFlags, bool bHidden) const
Creates and returns a defined name on-the-fly in the Calc document.
void finalizeImport()
Converts the imported workbook settings.
Stores information about all sheets in a spreadsheet document.
#define suppress_fun_call_w_exception(expr)
constexpr OUStringLiteral STR_DB_LOCAL_NONAME
Sequence< sal_Int8 > aSeq
int compareToIgnoreAsciiCase(std::u16string_view s1, std::u16string_view s2)
std::shared_ptr< WorkbookGlobals > WorkbookGlobalsRef
std::shared_ptr< StorageBase > StorageRef
OUString ScResId(TranslateId aId)
Configuration options for formula interpreter.
void SetStringRefSyntax(formula::FormulaGrammar::AddressConvention eConv)
formula::FormulaGrammar::AddressConvention meStringRefAddressSyntax
bool operator()(std::u16string_view rName1, std::u16string_view rName2) const
constexpr OUStringLiteral PROP_FirstPageNumber