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>
34 #include <osl/thread.h>
35 #include <osl/diagnose.h>
39 #include <oox/token/properties.hxx>
60 #include <document.hxx>
63 #include <tokenarray.hxx>
70 #include <globstr.hrc>
92 using ::oox::core::FilterBase;
93 using ::oox::core::FragmentHandler;
94 using ::oox::core::XmlFilterBase;
99 return rName1.compareToIgnoreAsciiCase(rName2 ) < 0;
148 Reference< XNameContainer >
getStyleFamily(
bool bPageStyles )
const;
150 Reference< XStyle >
getStyleObject(
const OUString& rStyleName,
bool bPageStyle )
const;
254 Reference< XSpreadsheetDocument >
mxDoc;
298 mrBaseFilter( rFilter ),
299 mrExcelFilter( rFilter ),
300 mpOoxFilter( &rFilter ),
322 Reference< XNameContainer > xStylesNC;
325 Reference< XStyleFamiliesSupplier > xFamiliesSup(
mxDoc, UNO_QUERY_THROW );
332 OSL_ENSURE( xStylesNC.is(),
"WorkbookGlobals::getStyleFamily - cannot access style family" );
338 Reference< XStyle > xStyle;
341 Reference< XNameContainer > xStylesNC(
getStyleFamily( bPageStyle ), UNO_SET_THROW );
342 xStyle.set( xStylesNC->getByName( rStyleName ), UNO_QUERY );
347 OSL_ENSURE( xStyle.is(),
"WorkbookGlobals::getStyleObject - cannot access style object" );
353 ScRangeData* lcl_addNewByNameAndTokens(
ScDocument& rDoc,
ScRangeName* pNames,
const OUString& rName,
const Sequence<FormulaToken>& rTokens, sal_Int16 nIndex, sal_Int32 nUnoType )
367 if ( pNames->
insert(pNew) )
374 OUString findUnusedName(
const ScRangeName* pRangeName,
const OUString& rSuggestedName )
376 OUString aNewName = rSuggestedName;
377 sal_Int32 nIndex = 0;
379 aNewName = rSuggestedName + OUStringChar(
'_') + OUString::number( nIndex++ );
387 OUString& orName,
const Sequence< FormulaToken>& rTokens, sal_Int32 nIndex, sal_Int32 nNameFlags )
391 if( !orName.isEmpty() )
396 orName = findUnusedName( pNames, orName );
398 pScRangeData = lcl_addNewByNameAndTokens( rDoc, pNames, orName, rTokens, nIndex, nNameFlags );
404 OUString& orName,
const Sequence< FormulaToken >& rTokens, sal_Int32 nIndex, sal_Int32 nNameFlags, sal_Int32 nTab )
408 if( !orName.isEmpty() )
415 orName = findUnusedName( pNames, orName );
417 pScRangeData = lcl_addNewByNameAndTokens( rDoc, pNames, orName, rTokens, nIndex, nNameFlags );
425 ScRange aDestRange = rRangeAddr;
429 Reference< XDatabaseRange > xDatabaseRange;
430 if( bValidRange && !orName.isEmpty() )
try
434 Reference< XDatabaseRanges > xDatabaseRanges( aDocProps.
getAnyProperty( PROP_DatabaseRanges ), UNO_QUERY_THROW );
439 xDatabaseRanges->addNewByName( orName, aApiRange );
440 xDatabaseRange.set( xDatabaseRanges->getByName( orName ), UNO_QUERY );
445 OSL_ENSURE( xDatabaseRange.is(),
"WorkbookGlobals::createDatabaseRangeObject - cannot create database range" );
446 return xDatabaseRange;
452 ScRange aDestRange = rRangeAddr;
456 Reference< XDatabaseRange > xDatabaseRange;
457 if( bValidRange )
try
461 throw css::lang::IndexOutOfBoundsException();
472 OSL_ENSURE( xDatabaseRange.is(),
"WorkbookData::createDatabaseRangeObject - cannot create database range" );
473 return xDatabaseRange;
486 Reference< XStyle > xStyle;
489 Reference< XNameContainer > xStylesNC(
getStyleFamily( bPageStyle ), UNO_SET_THROW );
496 OSL_ENSURE( xStyle.is(),
"WorkbookGlobals::createStyleObject - cannot create style" );
524 OSL_ENSURE(
mxDoc.is(),
"WorkbookGlobals::initialize - no spreadsheet document" );
536 throw RuntimeException(
"Workbookhelper::getScDocument(): Failed to access ScDocument from model");
538 Reference< XDocumentPropertiesSupplier > xPropSupplier(
mxDoc, UNO_QUERY);
539 Reference< XDocumentProperties > xDocProps = xPropSupplier->getDocumentProperties();
540 const OUString aGenerator( xDocProps->getGenerator());
542 if (aGenerator.startsWithIgnoreAsciiCase(
"Microsoft"))
549 else if (aGenerator.startsWithIgnoreAsciiCase(
"LibreOffice"))
560 mxTheme = std::make_shared<ThemeBuffer>( *this );
642 if( !xBookGlob->isValid() )
689 if( xVbaPrjStrg && xVbaPrjStrg->isStorage() )
710 aDefPageStyle.
setProperty< sal_Int16 >( PROP_FirstPageNumber, 0 );
716 if ( !aCalcConfig.mbHasStringRefSyntax )
723 Reference<XViewDataSupplier> xViewDataSupplier(
getDocument(), UNO_QUERY);
724 if (!xViewDataSupplier.is())
727 Reference<XIndexAccess> xIndexAccess(xViewDataSupplier->getViewData());
728 if (!(xIndexAccess.is() && xIndexAccess->getCount() > 0))
731 Sequence< PropertyValue >
aSeq;
732 if (!(xIndexAccess->getByIndex(0) >>= aSeq))
737 for (
const auto& rProp : std::as_const(aSeq))
739 OUString
sName(rProp.Name);
742 if(rProp.Value >>= sTabName)
751 rProp.Value >>= xSheetsNC;
754 if (!(xSheetsNC.is() && xSheetsNC->hasByName(sTabName)))
758 Any aAny = xSheetsNC->getByName(sTabName);
759 if ( !(aAny >>= aProperties) )
762 for (
const auto& rProp : std::as_const(aProperties))
764 OUString
sName(rProp.Name);
767 SCCOL nPosLeft = *o3tl::doAccess<SCCOL>(rProp.Value);
772 SCROW nPosTop = *o3tl::doAccess<SCROW>(rProp.Value);
812 Reference< XSpreadsheet > xSheet;
815 Reference< XIndexAccess > xSheetsIA(
getDocument()->getSheets(), UNO_QUERY_THROW );
816 xSheet.set( xSheetsIA->getByIndex( nSheet ), UNO_QUERY_THROW );
826 Reference< XSpreadsheet > xSheet;
830 xSheet.set( xSheetsNA->getByName( rSheet ), UNO_QUERY );
840 Reference< XCellRange > xRange;
void importModulesAndForms(StorageBase &rVbaPrjStrg, const GraphicHelper &rGraphicHelper)
rtl_TextEncoding meTextEnc
Base OOXML/BIFF12 filter object.
StylesBfrPtr mxStyles
Formatting theme from theme substream.
void registerWorkbookGlobals(WorkbookGlobals &rBookGlob)
SharedStringsBuffer & getSharedStrings() const
Returns the shared strings read from the shared strings substream.
void setCurrentSheetIndex(SCTAB nSheet)
Sets the index of the current Calc sheet, if filter currently processes a sheet.
void useInternalChartDataTable(bool bInternal)
Helper to switch chart data table - specifically for xlsx imports.
SegmentProgressBar & getProgressBar() const
Returns the filter progress bar.
::std::unique_ptr< DefinedNamesBuffer > DefNamesBfrPtr
FormulaParserPtr mxFmlaParser
All pivot tables in the document.
SC_DLLPUBLIC ScDBCollection * GetDBCollection() const
ThemeBuffer & getTheme() const
Returns the office theme object read from the theme substorage.
ScDocumentImport & getDocImport()
virtual ~WorkbookHelper()
ScDBData * findByIndex(sal_uInt16 nIndex)
const StorageRef & getVbaProjectStorage() const
Returns the VBA project storage.
ScenarioBuffer & getScenarios() const
Returns the scenarios collection.
oox::drawingml::chart::ChartConverter * getChartConverter() const
Returns the chart object converter.
const Reference< XSpreadsheetDocument > & getDocument() const
Returns a reference to the source/target spreadsheet document model.
Stores information about all sheets in a spreadsheet document.
UnitConverter & getUnitConverter() const
Returns the measurement unit converter.
::std::unique_ptr< SharedStringsBuffer > SharedStrBfrPtr
::std::unique_ptr< UnitConverter > UnitConvPtr
bool isGeneratorKnownGood() const
Returns true when reading a file generated by a known good generator.
css::uno::Reference< css::style::XStyle > getStyleObject(const OUString &rStyleName, bool bPageStyle) const
Returns the specified cell or page style from the Calc document.
SC_DLLPUBLIC void SetAnonymousDBData(SCTAB nTab, std::unique_ptr< ScDBData > pDBData)
FilterBase & getBaseFilter() const
Returns the base filter object (base class of all filters).
bool validateCellRange(ScRange &orRange, bool bAllowOverflow, bool bTrackOverflow)
Checks the passed cell range, may try to fit it to current sheet limits.
void finalizeImport()
Inserts all pivot tables into the sheet.
Collects all strings from the shared strings substream.
ExternalLinkBuffer & getExternalLinks() const
Returns the external links read from the external links substream.
XmlFilterBase * mpOoxFilter
#define STR_DB_LOCAL_NONAME
SC_DLLPUBLIC ScRangeName * GetRangeName(SCTAB nTab) const
rtl_TextEncoding getTextEncoding() const
Returns the text encoding used to import/export byte strings.
WorksheetBfrPtr mxWorksheets
Workbook and sheet view settings.
WorksheetBuffer & getWorksheets() const
Returns the worksheet buffer containing sheet names and properties.
css::uno::Any getAnyProperty(sal_Int32 nPropId) const
PivotTableBuffer & getPivotTables()
Returns the collection of pivot tables.
PivotCacheBfrPtr mxPivotCaches
All external data connections.
EditEngineDefaulterPtr mxEditEngine
Page/print settings converter.
ViewSettingsPtr mxViewSettings
Global workbook settings.
ViewSettings & getViewSettings() const
Returns the workbook and sheet view settings object.
::std::unique_ptr< PivotCacheBuffer > PivotCacheBfrPtr
Helper class that provides functions to convert values from and to different units.
bool importFragment(const rtl::Reference< FragmentHandler > &rxHandler)
bool isValid() const
Returns true, if this helper refers to a valid document.
WorkbookGlobals & mrBookGlob
Reference< XDatabaseRange > createDatabaseRangeObject(OUString &orName, const ScRange &rRangeAddr)
Creates and returns a database range on-the-fly in the Calc document.
ScDocument * mpDoc
BIFF byte string text encoding.
css::uno::Reference< css::table::XCellRange > getCellRangeFromDoc(const ScRange &rRange) const
Returns the XCellRange interface for the passed cell range address.
rtl_TextEncoding getTextEncoding() const
Returns the text encoding used to import/export byte strings.
WorkbookSettings & getWorkbookSettings() const
Returns the global workbook settings object.
std::shared_ptr< StorageBase > StorageRef
Accessor class to ScDocument.
StylesBuffer & getStyles() const
Returns all cell formatting objects read from the styles substream.
DefNamesBfrPtr mxDefNames
All external links.
void initialize()
Initializes some basic members and sets needed document properties.
WorkbookSettings & getWorkbookSettings() const
Returns the global workbook settings object.
PageSettConvPtr mxPageSettConverter
Chart object converter.
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...
::std::unique_ptr< SegmentProgressBar > ProgressBarPtr
Reference< XDatabaseRange > createUnnamedDatabaseRangeObject(const ScRange &rRangeAddr)
Creates and returns an unnamed database range on-the-fly in the Calc document.
Reference< XStyle > createStyleObject(OUString &orStyleName, bool bPageStyle)
Creates and returns a com.sun.star.style.Style object for cells or pages.
FormulaParser & getFormulaParser() const
Returns a shared import formula parser.
ScRangeData * createLocalNamedRangeObject(OUString &orName, const Sequence< FormulaToken > &rTokens, sal_Int32 nIndex, sal_Int32 nNameFlags, sal_Int32 nTab)
Creates and returns a defined name on the-fly in the correct Calc sheet.
ViewSettings & getViewSettings() const
Returns the workbook and sheet view settings object.
StylesBuffer & getStyles() const
Returns all cell formatting objects read from the styles substream.
PivotTableBfrPtr mxPivotTables
All pivot caches in the document.
OUString maCellStyleServ
Style family name for page styles.
PropertiesInfo aProperties
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.
SC_DLLPUBLIC SCTAB GetTableCount() const
Reference< XSpreadsheetDocument > mxDoc
Service name for a page style.
ScDBData * findDatabaseRangeByIndex(sal_uInt16 nIndex) const
Finds the (already existing) database range of the given formula token index.
const WorkbookGlobals & operator=(const WorkbookGlobals &)=delete
AddressConverter & getAddressConverter() const
Returns the converter for string to cell address/range conversion.
::oox::core::FilterBase & getBaseFilter() const
Returns the base filter object (base class of all filters).
PivotCacheBuffer & getPivotCaches() const
Returns the collection of pivot caches.
sal_Int16 getCurrentSheetIndex() const
Returns the index of the current Calc sheet, if filter currently processes a sheet.
SC_DLLPUBLIC void GuessPosition()
ScRangeData * createNamedRangeObject(OUString &orName, const Sequence< FormulaToken > &rTokens, sal_Int32 nIndex, sal_Int32 nNameFlags)
Creates and returns a defined name on-the-fly in the Calc document.
ScDocumentImport & getDocImport()
static OUString insertByUnusedName(const css::uno::Reference< css::container::XNameContainer > &rxNameContainer, const OUString &rSuggestedName, sal_Unicode cSeparator, const css::uno::Any &rObject)
void useInternalChartDataTable(bool bInternal)
void SetInsertingFromOtherDoc(bool bVal)
::std::unique_ptr< StylesBuffer > StylesBfrPtr
::std::unique_ptr< FormulaBuffer > FormulaBufferPtr
UnitConvPtr mxUnitConverter
Import formula parser.
SC_DLLPUBLIC void SetVisibleTab(SCTAB nTab)
Reference< XStyle > getStyleObject(const OUString &rStyleName, bool bPageStyle) const
Returns the specified cell or page style from the Calc document.
::oox::ole::VbaProject & getVbaProject() const
ScRangeData * createLocalNamedRangeObject(OUString &orName, const css::uno::Sequence< css::sheet::FormulaToken > &rTokens, sal_Int32 nIndex, sal_Int32 nNameFlags, sal_Int32 nTab) const
Creates and returns a defined name on-the-fly in the sheet.
FormulaParser * createFormulaParser()
Returns an unshared import formula parser.
void finalizeWorkbookImport()
Final conversion after importing the workbook.
SC_DLLPUBLIC ScDrawLayer * GetDrawLayer()
SC_DLLPUBLIC ScRangeData * findByUpperName(const OUString &rName)
PageSettingsConverter & getPageSettingsConverter() const
Returns the page and print settings converter.
bool mbGeneratorKnownGood
Current sheet index in Calc document.
void EnableExecuteLink(bool bVal)
AddressConvPtr mxAddrConverter
General unit converter.
void setCurrentSheetIndex(SCTAB nSheet)
Sets the index of the current Calc sheet, if filter currently processes a sheet.
const css::uno::Reference< css::sheet::XSpreadsheetDocument > & getDocument() const
Returns a reference to the source/target spreadsheet document model.
::std::unique_ptr< FormulaParser > FormulaParserPtr
css::uno::Reference< css::container::XNameContainer > getCellStyleFamily() const
Returns the cell styles container from the Calc document.
std::unique_ptr< ScDocumentImport > mxDocImport
void EnableChangeReadOnly(bool bVal)
SfxObjectShell * GetEmbeddedObject() const
ExternalLinkBuffer & getExternalLinks() const
Returns the external links read from the external links substream.
ExcelFilter & mrExcelFilter
Base filter object.
ExcelChartConvPtr mxChartConverter
Cell address and cell range address converter.
sal_Int16 getCurrentSheetIndex() const
Returns the index of the current Calc sheet, if filter currently processes a sheet.
::std::unique_ptr< ViewSettings > ViewSettingsPtr
ScDocument & getScDocument()
FormulaParser * createFormulaParser() const
Returns an unshared import formula parser (import filter only!).
ConnectionsBuffer & getConnections() const
Returns the collection of external data connections.
SC_DLLPUBLIC SfxItemPool * GetEnginePool() const
ScenarioBfrPtr mxScenarios
All tables (database ranges).
SC_DLLPUBLIC void UnlockAdjustHeight()
OUString uppercase(const OUString &rStr, sal_Int32 nPos, sal_Int32 nCount) const
::oox::core::XmlFilterBase & getOoxFilter() const
Returns the base OOXML/BIFF12 filter object.
SegmentProgressBar & getProgressBar() const
Returns the filter progress bar.
OUString ScResId(const char *pId)
::std::shared_ptr< ThemeBuffer > ThemeBfrRef
std::shared_ptr< WorkbookGlobals > WorkbookGlobalsRef
PageSettingsConverter & getPageSettingsConverter() const
Returns the page/print settings converter.
UnitConverter & getUnitConverter() const
Returns the measurement unit converter.
::std::unique_ptr< ConnectionsBuffer > ConnectionsBfrPtr
WorkbookSettPtr mxWorkbookSettings
static SC_DLLPUBLIC bool ConvertToTokenArray(ScDocument &rDoc, ScTokenArray &rTokenArray, const css::uno::Sequence< css::sheet::FormulaToken > &rSequence)
ScDBData * findDatabaseRangeByIndex(sal_uInt16 nIndex)
Finds the (already existing) database range of the given formula token index.
ScRangeData * createNamedRangeObject(OUString &orName, const css::uno::Sequence< css::sheet::FormulaToken > &rTokens, sal_Int32 nIndex, sal_Int32 nNameFlags) const
Creates and returns a defined name on-the-fly in the Calc document.
ScEditEngineDefaulter & getEditEngine() const
TableBuffer & getTables() const
Returns the tables collection (equivalent to Calc's database ranges).
StorageRef mxVbaPrjStrg
The progress bar.
SC_DLLPUBLIC void SetPosTop(SCROW nRow)
formula::FormulaGrammar::AddressConvention meStringRefAddressSyntax
PivotCacheBuffer & getPivotCaches() const
Returns the collection of pivot caches.
FormulaBufferPtr mxFormulaBuffer
Whether reading a file generated by Excel or Calc.
::std::unique_ptr< ExternalLinkBuffer > ExtLinkBfrPtr
Reference< XNameContainer > getStyleFamily(bool bPageStyles) const
Returns the cell or page styles container from the Calc document.
::std::unique_ptr< TableBuffer > TableBfrPtr
::std::unique_ptr< AddressConverter > AddressConvPtr
Configuration options for formula interpreter.
FormulaBuffer & getFormulaBuffer() const
static WorkbookGlobalsRef constructGlobals(ExcelFilter &rFilter)
void unregisterWorkbookGlobals()
static OUString getUnusedName(const css::uno::Reference< css::container::XNameAccess > &rxNameAccess, const OUString &rSuggestedName, sal_Unicode cSeparator)
void SetIndex(sal_uInt16 nInd)
bool operator()(const OUString &rName1, std::u16string_view rName2) const
::std::unique_ptr< WorkbookSettings > WorkbookSettPtr
SharedStrBfrPtr mxSharedStrings
All cell style objects from styles substream.
oox::drawingml::chart::ChartConverter * getChartConverter() const
Returns the chart object converter.
TableBfrPtr mxTables
All defined names.
Converter for cell addresses and cell ranges for OOXML and BIFF filters.
::std::unique_ptr< WorksheetBuffer > WorksheetBfrPtr
OUString maPageStyleServ
Service name for a cell style.
const ScCalcConfig & GetCalcConfig() const
bool isGeneratorKnownGood() const
Returns true when reading a file generated by a known good generator.
void finalizeImport()
Creates all scenarios in the Calc document.
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.
void finalizeImport()
Converts all imported document view settings.
ScEditEngineDefaulter & getEditEngine() const
static SC_DLLPUBLIC const CharClass * getCharClassPtr()
SharedStringsBuffer & getSharedStrings() const
Returns the shared strings read from the shared strings substream.
Sequence< sal_Int8 > aSeq
const ScDocument & GetDocument() const
DefinedNamesBuffer & getDefinedNames() const
Returns the defined names read from the workbook globals.
OUString maPageStyles
Style family name for cell styles.
::std::unique_ptr< ScEditEngineDefaulter > EditEngineDefaulterPtr
SC_DLLPUBLIC SfxItemPool * GetEditPool() const
ConnectionsBuffer & getConnections() const
Returns the collection of external data connections.
TableBuffer & getTables() const
Returns the tables collection (equivalent to Calc's database ranges).
void setVbaProjectStorage(const StorageRef &rxVbaPrjStrg)
Sets the VBA project storage used to import VBA source code and forms.
FormulaParser & getFormulaParser() const
Returns a shared import formula parser (import filter only!).
css::uno::Reference< css::sheet::XSpreadsheet > getSheetFromDoc(sal_Int32 nSheet) const
Returns a reference to the specified spreadsheet in the document model.
PivotTableBuffer & getPivotTables() const
Returns the collection of pivot tables.
ThemeBfrRef mxTheme
Sheet info buffer.
void finalize()
Finalizes the filter process (sets some needed document properties).
ThemeBuffer & getTheme() const
Returns the office theme object read from the theme substorage.
SfxObjectShell * GetDocumentShell() const
::std::unique_ptr< PageSettingsConverter > PageSettConvPtr
sal_Int16 mnCurrSheet
Storage containing the VBA project.
void setVbaProjectStorage(const StorageRef &rxVbaPrjStrg)
Sets the VBA project storage used to import VBA source code and forms.
::std::unique_ptr< PivotTableBuffer > PivotTableBfrPtr
void finalizeImport()
Converts the imported workbook settings.
SC_DLLPUBLIC void EnableUndo(bool bVal)
ScenarioBuffer & getScenarios() const
Returns the scenarios collection.
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.
WorkbookGlobals(const WorkbookGlobals &)=delete
ExtLinkBfrPtr mxExtLinks
All strings from shared strings substream.
SC_DLLPUBLIC void SetCalcConfig(const ScCalcConfig &rConfig)
FilterBase & mrBaseFilter
Document model.
ScDocument & getScDocument()
XmlFilterBase & getOoxFilter() const
Returns the base OOXML/BIFF12 filter object.
SC_DLLPUBLIC bool insert(ScRangeData *p, bool bReuseFreeIndex=true)
Insert object into set.
ConnectionsBfrPtr mxConnections
All scenarios.
SC_DLLPUBLIC void SetPosLeft(SCCOL nCol)
DefinedNamesBuffer & getDefinedNames() const
Returns the defined names read from the workbook globals.
bool setProperty(sal_Int32 nPropId, const Type &rValue)
::std::unique_ptr< ScenarioBuffer > ScenarioBfrPtr
AddressConverter & getAddressConverter() const
Returns the converter for string to cell address/range conversion.
FormulaBuffer & getFormulaBuffer() const
ProgressBarPtr mxProgressBar
Base object for registration of this structure.
::std::unique_ptr< oox::drawingml::chart::ChartConverter > ExcelChartConvPtr
void SetStringRefSyntax(formula::FormulaGrammar::AddressConvention eConv)
WorksheetBuffer & getWorksheets() const
Returns the worksheet buffer containing sheet names and properties.