LibreOffice Module sc (master) 1
|
This class implements importing the sheetData element in external sheets. More...
#include <externallinkfragment.hxx>
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 | |
ContextHandler2 & | operator= (ContextHandler2 const &)=delete |
ContextHandler2 & | operator= (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 |
XmlFilterBase & | getFilter () const |
const Relations & | getRelations () 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 | |
WorkbookHelper & | operator= (WorkbookHelper const &)=delete |
WorkbookHelper & | operator= (WorkbookHelper &&)=delete |
::oox::core::FilterBase & | getBaseFilter () const |
Returns the base filter object (base class of all filters). More... | |
SegmentProgressBar & | getProgressBar () 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) |
ScDocument & | getScDocument () |
const ScDocument & | getScDocument () const |
ScDocumentImport & | getDocImport () |
const ScDocumentImport & | getDocImport () const |
ScEditEngineDefaulter & | getEditEngine () 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... | |
ScDBData * | findDatabaseRangeByIndex (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... | |
FormulaBuffer & | getFormulaBuffer () const |
WorkbookSettings & | getWorkbookSettings () const |
Returns the global workbook settings object. More... | |
ViewSettings & | getViewSettings () const |
Returns the workbook and sheet view settings object. More... | |
WorksheetBuffer & | getWorksheets () const |
Returns the worksheet buffer containing sheet names and properties. More... | |
ThemeBuffer & | getTheme () const |
Returns the office theme object read from the theme substorage. More... | |
StylesBuffer & | getStyles () const |
Returns all cell formatting objects read from the styles substream. More... | |
SharedStringsBuffer & | getSharedStrings () const |
Returns the shared strings read from the shared strings substream. More... | |
ExternalLinkBuffer & | getExternalLinks () const |
Returns the external links read from the external links substream. More... | |
DefinedNamesBuffer & | getDefinedNames () const |
Returns the defined names read from the workbook globals. More... | |
TableBuffer & | getTables () const |
Returns the tables collection (equivalent to Calc's database ranges). More... | |
ScenarioBuffer & | getScenarios () const |
Returns the scenarios collection. More... | |
ConnectionsBuffer & | getConnections () const |
Returns the collection of external data connections. More... | |
PivotCacheBuffer & | getPivotCaches () const |
Returns the collection of pivot caches. More... | |
PivotTableBuffer & | getPivotTables () const |
Returns the collection of pivot tables. More... | |
FormulaParser & | getFormulaParser () const |
Returns a shared import formula parser (import filter only!). More... | |
FormulaParser * | createFormulaParser () const |
Returns an unshared import formula parser (import filter only!). More... | |
UnitConverter & | getUnitConverter () const |
Returns the measurement unit converter. More... | |
AddressConverter & | getAddressConverter () const |
Returns the converter for string to cell address/range conversion. More... | |
oox::drawingml::chart::ChartConverter * | getChartConverter () const |
Returns the chart object converter. More... | |
PageSettingsConverter & | getPageSettingsConverter () const |
Returns the page and print settings converter. More... | |
::oox::core::XmlFilterBase & | getOoxFilter () 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) |
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.
|
explicit |
Definition at line 38 of file externallinkfragment.cxx.
References mxSheetCache, and XML_TOKEN_INVALID.
|
private |
Imports cell settings from a c element.
Definition at line 108 of file externallinkfragment.cxx.
References oox::xls::WorkbookHelper::getAddressConverter(), oox::AttributeList::getString(), oox::AttributeList::getToken(), maCurrPos, mnCurrType, and XML_TOKEN_INVALID.
Referenced by onCreateContext().
|
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().
|
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().
|
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().
|
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().
|
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().
|
overrideprotectedvirtual |
Reimplemented from oox::core::ContextHandler2.
Definition at line 64 of file externallinkfragment.cxx.
References Any, oox::xls::BiffHelper::calcDoubleFromError(), oox::xls::WorkbookHelper::getUnitConverter(), mnCurrType, setCellValue(), v, and XML_TOKEN_INVALID.
|
overrideprotectedvirtual |
Reimplemented from oox::core::ContextHandler2.
Definition at line 47 of file externallinkfragment.cxx.
References importCell(), and v.
|
overrideprotectedvirtual |
Reimplemented from oox::core::ContextHandler2.
Definition at line 85 of file externallinkfragment.cxx.
References oox::xls::BIFF12_ID_EXTCELL_BLANK, oox::xls::BIFF12_ID_EXTCELL_BOOL, oox::xls::BIFF12_ID_EXTCELL_DOUBLE, oox::xls::BIFF12_ID_EXTCELL_ERROR, oox::xls::BIFF12_ID_EXTCELL_STRING, oox::xls::BIFF12_ID_EXTROW, oox::xls::BIFF12_ID_EXTSHEETDATA, importExtCellBlank(), importExtCellBool(), importExtCellDouble(), importExtCellError(), importExtCellString(), maCurrPos, rStrm, and ScAddress::SetRow().
|
private |
Sets the passed cell value to the current position in the sheet cache.
Definition at line 147 of file externallinkfragment.cxx.
References ScAddress::Col(), Exception, oox::xls::WorkbookHelper::getAddressConverter(), maCurrPos, mxSheetCache, and ScAddress::Row().
Referenced by importExtCellBlank(), importExtCellBool(), importExtCellDouble(), importExtCellError(), importExtCellString(), and onCharacters().
|
private |
The sheet cache used to store external cell values.
Definition at line 66 of file externallinkfragment.hxx.
Referenced by importCell(), importExtCellBlank(), importExtCellBool(), importExtCellDouble(), importExtCellError(), importExtCellString(), onCreateRecordContext(), and setCellValue().
|
private |
Position of current cell.
Definition at line 67 of file externallinkfragment.hxx.
Referenced by importCell(), and onCharacters().
|
private |
Definition at line 65 of file externallinkfragment.hxx.
Referenced by ExternalSheetDataContext(), and setCellValue().