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

This class implements importing the sheetData element in external sheets. More...

#include <externallinkfragment.hxx>

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

Public Member Functions

 ExternalSheetDataContext (WorkbookFragmentBase &rFragment, const css::uno::Reference< css::sheet::XExternalSheetCache > &rxSheetCache)
 
- Public Member Functions inherited from oox::xls::WorkbookContextBase
template<typename ParentType >
 WorkbookContextBase (ParentType &rParent)
 
- Public Member Functions inherited from oox::core::ContextHandler2
 ContextHandler2 (ContextHandler2Helper const &rParent)
 
virtual ~ContextHandler2 () override
 
 ContextHandler2 (ContextHandler2 const &)=default
 
 ContextHandler2 (ContextHandler2 &&)=default
 
ContextHandler2operator= (ContextHandler2 const &)=delete
 
ContextHandler2operator= (ContextHandler2 &&)=delete
 
virtual void SAL_CALL acquire () noexcept override
 
virtual void SAL_CALL release () noexcept override
 
virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext (sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList > &rxAttribs) final override
 
virtual void SAL_CALL startFastElement (sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList > &rxAttribs) final override
 
virtual void SAL_CALL characters (const OUString &rChars) final override
 
virtual void SAL_CALL endFastElement (sal_Int32 nElement) final override
 
virtual ContextHandlerRef createRecordContext (sal_Int32 nRecId, SequenceInputStream &rStrm) override
 
virtual void startRecord (sal_Int32 nRecId, SequenceInputStream &rStrm) override
 
virtual void endRecord (sal_Int32 nRecId) override
 
virtual ContextHandlerRef onCreateContext (sal_Int32 nElement, const AttributeList &rAttribs) override
 
virtual void onStartElement (const AttributeList &rAttribs) override
 
virtual void onCharacters (const OUString &rChars) override
 
virtual void onEndElement () override
 
virtual ContextHandlerRef onCreateRecordContext (sal_Int32 nRecId, SequenceInputStream &rStrm) override
 
virtual void onStartRecord (SequenceInputStream &rStrm) override
 
virtual void onEndRecord () override
 
- Public Member Functions inherited from oox::core::ContextHandler
 ContextHandler (const ContextHandler &rParent)
 
virtual ~ContextHandler () override
 
XmlFilterBasegetFilter () const
 
const RelationsgetRelations () const
 
const OUString & getFragmentPath () const
 
OUString getFragmentPathFromRelation (const Relation &rRelation) const
 
OUString getFragmentPathFromRelId (const OUString &rRelId) const
 
OUString getFragmentPathFromFirstType (std::u16string_view rType) const
 
OUString getFragmentPathFromFirstTypeFromOfficeDoc (std::u16string_view rType) const
 
virtual void SAL_CALL startFastElement (::sal_Int32 Element, const css::uno::Reference< css::xml::sax::XFastAttributeList > &Attribs) override
 
virtual void SAL_CALL startUnknownElement (const OUString &Namespace, const OUString &Name, const css::uno::Reference< css::xml::sax::XFastAttributeList > &Attribs) override
 
virtual void SAL_CALL endFastElement (::sal_Int32 Element) override
 
virtual void SAL_CALL endUnknownElement (const OUString &Namespace, const OUString &Name) override
 
virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext (::sal_Int32 Element, const css::uno::Reference< css::xml::sax::XFastAttributeList > &Attribs) override
 
virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createUnknownChildContext (const OUString &Namespace, const OUString &Name, const css::uno::Reference< css::xml::sax::XFastAttributeList > &Attribs) override
 
virtual void SAL_CALL characters (const OUString &aChars) override
 
virtual ContextHandlerRef createRecordContext (sal_Int32 nRecId, SequenceInputStream &rStrm)
 
virtual void startRecord (sal_Int32 nRecId, SequenceInputStream &rStrm)
 
virtual void endRecord (sal_Int32 nRecId)
 
- 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...
 

Protected Member Functions

virtual ::oox::core::ContextHandlerRef onCreateContext (sal_Int32 nElement, const AttributeList &rAttribs) override
 
virtual void onCharacters (const OUString &rChars) override
 
virtual ::oox::core::ContextHandlerRef onCreateRecordContext (sal_Int32 nRecId, SequenceInputStream &rStrm) override
 
- Protected Member Functions inherited from oox::core::ContextHandler
 ContextHandler (FragmentBaseDataRef rxBaseData)
 
void implSetLocator (const css::uno::Reference< css::xml::sax::XLocator > &rxLocator)
 

Private Member Functions

void importCell (const AttributeList &rAttribs)
 Imports cell settings from a c element. More...
 
void importExtCellBlank (SequenceInputStream &rStrm)
 Imports the EXTCELL_BLANK from the passed stream. More...
 
void importExtCellBool (SequenceInputStream &rStrm)
 Imports the EXTCELL_BOOL from the passed stream. More...
 
void importExtCellDouble (SequenceInputStream &rStrm)
 Imports the EXTCELL_DOUBLE from the passed stream. More...
 
void importExtCellError (SequenceInputStream &rStrm)
 Imports the EXTCELL_ERROR from the passed stream. More...
 
void importExtCellString (SequenceInputStream &rStrm)
 Imports the EXTCELL_STRING from the passed stream. More...
 
void setCellValue (const css::uno::Any &rValue)
 Sets the passed cell value to the current position in the sheet cache. More...
 

Private Attributes

css::uno::Reference< css::sheet::XExternalSheetCache > mxSheetCache
 
ScAddress maCurrPos
 The sheet cache used to store external cell values. More...
 
sal_Int32 mnCurrType
 Position of current cell. More...
 

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

This class implements importing the sheetData element in external sheets.

The sheetData element embedded in the externalBook element contains cached cells from externally linked sheets.

Definition at line 32 of file externallinkfragment.hxx.

Constructor & Destructor Documentation

◆ ExternalSheetDataContext()

oox::xls::ExternalSheetDataContext::ExternalSheetDataContext ( WorkbookFragmentBase rFragment,
const css::uno::Reference< css::sheet::XExternalSheetCache > &  rxSheetCache 
)
explicit

Definition at line 38 of file externallinkfragment.cxx.

References mxSheetCache, and XML_TOKEN_INVALID.

Member Function Documentation

◆ importCell()

void oox::xls::ExternalSheetDataContext::importCell ( const AttributeList rAttribs)
private

◆ importExtCellBlank()

void oox::xls::ExternalSheetDataContext::importExtCellBlank ( SequenceInputStream rStrm)
private

Imports the EXTCELL_BLANK from the passed stream.

Definition at line 116 of file externallinkfragment.cxx.

References Any, maCurrPos, rStrm, setCellValue(), and ScAddress::SetCol().

Referenced by onCreateRecordContext().

◆ importExtCellBool()

void oox::xls::ExternalSheetDataContext::importExtCellBool ( SequenceInputStream rStrm)
private

Imports the EXTCELL_BOOL from the passed stream.

Definition at line 122 of file externallinkfragment.cxx.

References Any, maCurrPos, rStrm, setCellValue(), and ScAddress::SetCol().

Referenced by onCreateRecordContext().

◆ importExtCellDouble()

void oox::xls::ExternalSheetDataContext::importExtCellDouble ( SequenceInputStream rStrm)
private

Imports the EXTCELL_DOUBLE from the passed stream.

Definition at line 129 of file externallinkfragment.cxx.

References Any, maCurrPos, rStrm, setCellValue(), and ScAddress::SetCol().

Referenced by onCreateRecordContext().

◆ importExtCellError()

void oox::xls::ExternalSheetDataContext::importExtCellError ( SequenceInputStream rStrm)
private

Imports the EXTCELL_ERROR from the passed stream.

Definition at line 135 of file externallinkfragment.cxx.

References Any, oox::xls::BiffHelper::calcDoubleFromError(), maCurrPos, rStrm, setCellValue(), and ScAddress::SetCol().

Referenced by onCreateRecordContext().

◆ importExtCellString()

void oox::xls::ExternalSheetDataContext::importExtCellString ( SequenceInputStream rStrm)
private

Imports the EXTCELL_STRING from the passed stream.

Definition at line 141 of file externallinkfragment.cxx.

References Any, maCurrPos, oox::xls::BiffHelper::readString(), rStrm, setCellValue(), and ScAddress::SetCol().

Referenced by onCreateRecordContext().

◆ onCharacters()

void oox::xls::ExternalSheetDataContext::onCharacters ( const OUString &  rChars)
overrideprotectedvirtual

◆ onCreateContext()

ContextHandlerRef oox::xls::ExternalSheetDataContext::onCreateContext ( sal_Int32  nElement,
const AttributeList rAttribs 
)
overrideprotectedvirtual

Reimplemented from oox::core::ContextHandler2.

Definition at line 47 of file externallinkfragment.cxx.

References importCell(), and v.

◆ onCreateRecordContext()

ContextHandlerRef oox::xls::ExternalSheetDataContext::onCreateRecordContext ( sal_Int32  nRecId,
SequenceInputStream rStrm 
)
overrideprotectedvirtual

◆ setCellValue()

void oox::xls::ExternalSheetDataContext::setCellValue ( const css::uno::Any &  rValue)
private

Member Data Documentation

◆ maCurrPos

ScAddress oox::xls::ExternalSheetDataContext::maCurrPos
private

◆ mnCurrType

sal_Int32 oox::xls::ExternalSheetDataContext::mnCurrType
private

Position of current cell.

Definition at line 67 of file externallinkfragment.hxx.

Referenced by importCell(), and onCharacters().

◆ mxSheetCache

css::uno::Reference< css::sheet::XExternalSheetCache > oox::xls::ExternalSheetDataContext::mxSheetCache
private

Definition at line 65 of file externallinkfragment.hxx.

Referenced by ExternalSheetDataContext(), and setCellValue().


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