LibreOffice Module sc (master) 1
Classes | Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
oox::xls::WorksheetBuffer Class Reference

Stores information about all sheets in a spreadsheet document. More...

#include <worksheetbuffer.hxx>

Inheritance diagram for oox::xls::WorksheetBuffer:
[legend]
Collaboration diagram for oox::xls::WorksheetBuffer:
[legend]

Classes

struct  SheetInfo
 

Public Member Functions

 WorksheetBuffer (const WorkbookHelper &rHelper)
 
void importSheet (const AttributeList &rAttribs)
 Imports the attributes of a sheet element. More...
 
void importSheet (SequenceInputStream &rStrm)
 Imports the SHEET record from the passed BIFF12 stream. More...
 
sal_Int16 insertEmptySheet (const OUString &rPreferredName)
 Inserts a new empty sheet into the document. More...
 
sal_Int32 getWorksheetCount () const
 Returns the number of original sheets contained in the workbook. More...
 
sal_Int32 getAllSheetCount () const
 Returns the number of all sheets, workbook + dummy ones (pivot table cache records ) More...
 
OUString getWorksheetRelId (sal_Int32 nWorksheet) const
 Returns the OOXML relation identifier of the specified worksheet. More...
 
sal_Int16 getCalcSheetIndex (sal_Int32 nWorksheet) const
 Returns the Calc index of the specified worksheet. More...
 
OUString getCalcSheetName (sal_Int32 nWorksheet) const
 Returns the finalized name of the specified worksheet. More...
 
sal_Int16 getCalcSheetIndex (const OUString &rWorksheetName) const
 Returns the Calc index of the sheet with the passed original worksheet name. More...
 
OUString getCalcSheetName (const OUString &rWorksheetName) const
 Returns the finalized name of the sheet with the passed worksheet name. More...
 
void convertSheetNameRef (OUString &sSheetNameRef) const
 Converts sSheetNameRef (e.g. More...
 
void finalizeImport (sal_Int16 nActiveSheet)
 
- Public Member Functions inherited from oox::xls::WorkbookHelper
 WorkbookHelper (WorkbookGlobals &rBookGlob)
 
virtual ~WorkbookHelper ()
 
 WorkbookHelper (WorkbookHelper const &)=default
 
 WorkbookHelper (WorkbookHelper &&)=default
 
WorkbookHelperoperator= (WorkbookHelper const &)=delete
 
WorkbookHelperoperator= (WorkbookHelper &&)=delete
 
::oox::core::FilterBasegetBaseFilter () const
 Returns the base filter object (base class of all filters). More...
 
SegmentProgressBargetProgressBar () const
 Returns the filter progress bar. More...
 
sal_Int16 getCurrentSheetIndex () const
 Returns the index of the current Calc sheet, if filter currently processes a sheet. More...
 
bool isGeneratorKnownGood () const
 Returns true when reading a file generated by a known good generator. More...
 
bool hasCalculatedFormulaCells () const
 Returns true if any formula cell is calculated. More...
 
void setCalculatedFormulaCells ()
 Set if any formula cell is calculated. More...
 
void setVbaProjectStorage (const StorageRef &rxVbaPrjStrg)
 Sets the VBA project storage used to import VBA source code and forms. More...
 
void setCurrentSheetIndex (SCTAB nSheet)
 Sets the index of the current Calc sheet, if filter currently processes a sheet. More...
 
void finalizeWorkbookImport ()
 Final conversion after importing the workbook. More...
 
void useInternalChartDataTable (bool bInternal)
 
ScDocumentgetScDocument ()
 
const ScDocumentgetScDocument () const
 
ScDocumentImportgetDocImport ()
 
const ScDocumentImportgetDocImport () const
 
ScEditEngineDefaultergetEditEngine () const
 
const css::uno::Reference< css::sheet::XSpreadsheetDocument > & getDocument () const
 Returns a reference to the source/target spreadsheet document model. More...
 
css::uno::Reference< css::sheet::XSpreadsheet > getSheetFromDoc (sal_Int32 nSheet) const
 Returns a reference to the specified spreadsheet in the document model. More...
 
css::uno::Reference< css::sheet::XSpreadsheet > getSheetFromDoc (const OUString &rSheet) const
 Returns a reference to the specified spreadsheet in the document model. More...
 
css::uno::Reference< css::table::XCellRange > getCellRangeFromDoc (const ScRange &rRange) const
 Returns the XCellRange interface for the passed cell range address. More...
 
css::uno::Reference< css::container::XNameContainer > getCellStyleFamily () const
 Returns the cell styles container from the Calc document. More...
 
css::uno::Reference< css::style::XStyle > getStyleObject (const OUString &rStyleName, bool bPageStyle) const
 Returns the specified cell or page style from the Calc document. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
ScDBDatafindDatabaseRangeByIndex (sal_uInt16 nIndex) const
 Finds the (already existing) database range of the given formula token index. More...
 
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. More...
 
FormulaBuffergetFormulaBuffer () const
 
WorkbookSettingsgetWorkbookSettings () const
 Returns the global workbook settings object. More...
 
ViewSettingsgetViewSettings () const
 Returns the workbook and sheet view settings object. More...
 
WorksheetBuffergetWorksheets () const
 Returns the worksheet buffer containing sheet names and properties. More...
 
ThemeBuffergetTheme () const
 Returns the office theme object read from the theme substorage. More...
 
StylesBuffergetStyles () const
 Returns all cell formatting objects read from the styles substream. More...
 
SharedStringsBuffergetSharedStrings () const
 Returns the shared strings read from the shared strings substream. More...
 
ExternalLinkBuffergetExternalLinks () const
 Returns the external links read from the external links substream. More...
 
DefinedNamesBuffergetDefinedNames () const
 Returns the defined names read from the workbook globals. More...
 
TableBuffergetTables () const
 Returns the tables collection (equivalent to Calc's database ranges). More...
 
ScenarioBuffergetScenarios () const
 Returns the scenarios collection. More...
 
ConnectionsBuffergetConnections () const
 Returns the collection of external data connections. More...
 
PivotCacheBuffergetPivotCaches () const
 Returns the collection of pivot caches. More...
 
PivotTableBuffergetPivotTables () const
 Returns the collection of pivot tables. More...
 
FormulaParsergetFormulaParser () const
 Returns a shared import formula parser (import filter only!). More...
 
FormulaParsercreateFormulaParser () const
 Returns an unshared import formula parser (import filter only!). More...
 
UnitConvertergetUnitConverter () const
 Returns the measurement unit converter. More...
 
AddressConvertergetAddressConverter () const
 Returns the converter for string to cell address/range conversion. More...
 
oox::drawingml::chart::ChartConvertergetChartConverter () const
 Returns the chart object converter. More...
 
PageSettingsConvertergetPageSettingsConverter () const
 Returns the page and print settings converter. More...
 
::oox::core::XmlFilterBasegetOoxFilter () const
 Returns the base OOXML/BIFF12 filter object. More...
 
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 stream. More...
 
bool importOoxFragment (const rtl::Reference< oox::core::FragmentHandler > &rxHandler, oox::core::FastParser &rParser)
 
rtl_TextEncoding getTextEncoding () const
 Returns the text encoding used to import/export byte strings. More...
 

Private Types

typedef ::std::pair< sal_Int16, OUString > IndexNamePair
 

Private Member Functions

IndexNamePair createSheet (const OUString &rPreferredName, sal_Int32 nSheetPos)
 Creates a new sheet in the Calc document. More...
 
void insertSheet (const SheetInfoModel &rModel)
 Creates a new sheet in the Calc document and inserts the related SheetInfo. More...
 

Private Attributes

RefVector< SheetInfomaSheetInfos
 
RefMap< OUString, SheetInfo, IgnoreCaseComparemaSheetInfosByName
 

Additional Inherited Members

- Public Types inherited from oox::xls::WorkbookHelper
typedef std::pair< ScRangeData *, bool > RangeDataRet
 
- Static Public Member Functions inherited from oox::xls::WorkbookHelper
static WorkbookGlobalsRef constructGlobals (ExcelFilter &rFilter)
 

Detailed Description

Stores information about all sheets in a spreadsheet document.

Information about sheets includes the sheet name, the visibility state, and for the OOXML filter, the relation identifier of the sheet used to obtain the related worksheet fragment.

Definition at line 49 of file worksheetbuffer.hxx.

Member Typedef Documentation

◆ IndexNamePair

typedef ::std::pair< sal_Int16, OUString > oox::xls::WorksheetBuffer::IndexNamePair
private

Definition at line 94 of file worksheetbuffer.hxx.

Constructor & Destructor Documentation

◆ WorksheetBuffer()

oox::xls::WorksheetBuffer::WorksheetBuffer ( const WorkbookHelper rHelper)
explicit

Definition at line 54 of file worksheetbuffer.cxx.

Member Function Documentation

◆ convertSheetNameRef()

void oox::xls::WorksheetBuffer::convertSheetNameRef ( OUString &  sSheetNameRef) const

Converts sSheetNameRef (e.g.

'#SheetName!A1' to '#SheetName.A1' ) if sSheetNameRef doesn't start with '#' it is ignored and not modified

Definition at line 119 of file worksheetbuffer.cxx.

References formula::FormulaGrammar::CONV_XL_R1C1, getCalcSheetName(), oox::xls::WorkbookHelper::getScDocument(), ScRange::ParseAny(), VALID, and ZERO.

◆ createSheet()

WorksheetBuffer::IndexNamePair oox::xls::WorksheetBuffer::createSheet ( const OUString &  rPreferredName,
sal_Int32  nSheetPos 
)
private

Creates a new sheet in the Calc document.

Does not insert anything in the own lists.

Definition at line 187 of file worksheetbuffer.cxx.

References Exception, oox::xls::WorkbookHelper::getDocument(), oox::ContainerHelper::getUnusedName(), and ScResId().

Referenced by insertEmptySheet(), and insertSheet().

◆ finalizeImport()

void oox::xls::WorksheetBuffer::finalizeImport ( sal_Int16  nActiveSheet)

◆ getAllSheetCount()

sal_Int32 oox::xls::WorksheetBuffer::getAllSheetCount ( ) const

Returns the number of all sheets, workbook + dummy ones (pivot table cache records )

Definition at line 95 of file worksheetbuffer.cxx.

References oox::xls::WorkbookHelper::getDocImport(), and ScDocumentImport::getSheetCount().

Referenced by oox::xls::PivotCacheRecordsFragment::PivotCacheRecordsFragment().

◆ getCalcSheetIndex() [1/2]

sal_Int16 oox::xls::WorksheetBuffer::getCalcSheetIndex ( const OUString &  rWorksheetName) const

Returns the Calc index of the sheet with the passed original worksheet name.

Definition at line 146 of file worksheetbuffer.cxx.

References maSheetInfosByName, and oox::xls::WorksheetBuffer::SheetInfo::mnCalcSheet.

◆ getCalcSheetIndex() [2/2]

sal_Int16 oox::xls::WorksheetBuffer::getCalcSheetIndex ( sal_Int32  nWorksheet) const

◆ getCalcSheetName() [1/2]

OUString oox::xls::WorksheetBuffer::getCalcSheetName ( const OUString &  rWorksheetName) const

Returns the finalized name of the sheet with the passed worksheet name.

Definition at line 152 of file worksheetbuffer.cxx.

References maSheetInfosByName.

◆ getCalcSheetName() [2/2]

OUString oox::xls::WorksheetBuffer::getCalcSheetName ( sal_Int32  nWorksheet) const

Returns the finalized name of the specified worksheet.

Definition at line 113 of file worksheetbuffer.cxx.

References oox::xls::WorksheetBuffer::SheetInfo::maCalcName, and maSheetInfos.

Referenced by convertSheetNameRef(), oox::xls::ViewSettings::finalizeImport(), and oox::xls::WorksheetGlobals::getHyperlinkUrl().

◆ getWorksheetCount()

sal_Int32 oox::xls::WorksheetBuffer::getWorksheetCount ( ) const

Returns the number of original sheets contained in the workbook.

Definition at line 90 of file worksheetbuffer.cxx.

References maSheetInfos.

Referenced by oox::xls::ViewSettings::finalizeImport(), and oox::xls::WorkbookFragment::finalizeImport().

◆ getWorksheetRelId()

OUString oox::xls::WorksheetBuffer::getWorksheetRelId ( sal_Int32  nWorksheet) const

Returns the OOXML relation identifier of the specified worksheet.

Definition at line 101 of file worksheetbuffer.cxx.

References oox::xls::SheetInfoModel::maRelId, and maSheetInfos.

Referenced by oox::xls::WorkbookFragment::finalizeImport().

◆ importSheet() [1/2]

void oox::xls::WorksheetBuffer::importSheet ( const AttributeList rAttribs)

◆ importSheet() [2/2]

void oox::xls::WorksheetBuffer::importSheet ( SequenceInputStream rStrm)

◆ insertEmptySheet()

sal_Int16 oox::xls::WorksheetBuffer::insertEmptySheet ( const OUString &  rPreferredName)

Inserts a new empty sheet into the document.

Looks for an unused name.

Returns
Index of the new sheet in the Calc document.

Definition at line 81 of file worksheetbuffer.cxx.

References createSheet(), oox::xls::WorkbookHelper::getScDocument(), SAL_MAX_INT32, and ScDocument::SetVisible().

◆ insertSheet()

void oox::xls::WorksheetBuffer::insertSheet ( const SheetInfoModel rModel)
private

Creates a new sheet in the Calc document and inserts the related SheetInfo.

Definition at line 225 of file worksheetbuffer.cxx.

References createSheet(), oox::xls::SheetInfoModel::maName, maSheetInfos, and maSheetInfosByName.

Referenced by importSheet().

Member Data Documentation

◆ maSheetInfos

RefVector< SheetInfo > oox::xls::WorksheetBuffer::maSheetInfos
private

◆ maSheetInfosByName

RefMap< OUString, SheetInfo, IgnoreCaseCompare > oox::xls::WorksheetBuffer::maSheetInfosByName
private

Definition at line 103 of file worksheetbuffer.hxx.

Referenced by getCalcSheetIndex(), getCalcSheetName(), and insertSheet().


The documentation for this class was generated from the following files: