LibreOffice Module sc (master) 1
Public Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
XclExpPivotTable Class Reference

#include <xepivot.hxx>

Inheritance diagram for XclExpPivotTable:
[legend]
Collaboration diagram for XclExpPivotTable:
[legend]

Public Member Functions

 XclExpPivotTable (const XclExpRoot &rRoot, const ScDPObject &rDPObj, const XclExpPivotCache &rPCache)
 
const XclExpPCFieldGetCacheField (sal_uInt16 nCacheIdx) const
 Returns a pivot cache field. More...
 
SCTAB GetScTab () const
 Returns the output range of the pivot table. More...
 
const XclExpPTFieldGetField (sal_uInt16 nFieldIdx) const
 Returns a pivot table field by its name. More...
 
const XclExpPTFieldGetField (std::u16string_view rName) const
 Returns a pivot table field by its name. More...
 
sal_uInt16 GetDataFieldIndex (const OUString &rName, sal_uInt16 nDefaultIdx) const
 Returns the data-field-only index of the first data field with the passed name. More...
 
virtual void Save (XclExpStream &rStrm) override
 Writes the entire pivot table. More...
 
- Public Member Functions inherited from XclExpRecordBase
 XclExpRecordBase ()
 
 XclExpRecordBase (XclExpRecordBase const &)
 
 XclExpRecordBase (XclExpRecordBase &&)
 
XclExpRecordBaseoperator= (XclExpRecordBase const &)
 
XclExpRecordBaseoperator= (XclExpRecordBase &&) noexcept
 
virtual ~XclExpRecordBase ()
 
virtual void Save (XclExpStream &rStrm)
 Overwrite this method to do any operation while saving the record. More...
 
virtual void SaveXml (XclExpXmlStream &rStrm)
 
- Public Member Functions inherited from salhelper::SimpleReferenceObject
 SimpleReferenceObject ()
 
void acquire ()
 
void release ()
 

Private Types

typedef XclExpRecordList< XclExpPTFieldXclExpPTFieldList
 
typedef XclExpPTFieldList::RecordRefType XclExpPTFieldRef
 

Private Member Functions

XclExpPTFieldGetFieldAcc (std::u16string_view rName)
 Returns a pivot table field by its name. More...
 
XclExpPTFieldGetFieldAcc (const ScDPSaveDimension &rSaveDim)
 Returns a pivot table field corresponding to the passed save dimension. More...
 
void SetPropertiesFromDP (const ScDPSaveData &rSaveData)
 Fills internal members with all properties from the passed save data. More...
 
void SetFieldPropertiesFromDim (const ScDPSaveDimension &rSaveDim)
 Fills a pivot table field with all properties from the passed save dimension. More...
 
void SetDataFieldPropertiesFromDim (const ScDPSaveDimension &rSaveDim)
 Fills a pivot table data field with all properties from the passed save dimension. More...
 
void Finalize ()
 Initializes any data after processing the entire source DataPilot. More...
 
void WriteSxview (XclExpStream &rStrm) const
 Writes the SXVIEW record starting the pivot table. More...
 
void WriteSxpi (XclExpStream &rStrm) const
 Writes the SXPI record containing page field info. More...
 
void WriteSxdiList (XclExpStream &rStrm) const
 Writes all SXDI records containing info about the data fields. More...
 
void WriteSxex (XclExpStream &rStrm) const
 Writes the SXEX records containing additional pivot table info. More...
 
void WriteQsiSxTag (XclExpStream &rStrm) const
 
void WriteSxViewEx9 (XclExpStream &rStrm) const
 Writes the SX_AUTOFORMAT records with the autoformat id and header layout. More...
 

Static Private Member Functions

static void WriteSxivd (XclExpStream &rStrm, const ScfUInt16Vec &rFields)
 Writes an SXIVD record for row field or column field order. More...
 
static void WriteSxli (XclExpStream &rStrm, sal_uInt16 nLineCount, sal_uInt16 nIndexCount)
 Writes a dummy SXLI records containing item layout info. More...
 

Private Attributes

const XclExpPivotCachemrPCache
 
XclPTInfo maPTInfo
 The pivot cache this pivot table bases on. More...
 
XclPTExtInfo maPTExtInfo
 Info about the pivot table (SXVIEW record). More...
 
XclPTViewEx9Info maPTViewEx9Info
 Extended info about the pivot table (SXEX record). More...
 
XclExpPTFieldList maFieldList
 The selected autoformat (SXVIEWEX9) More...
 
ScfUInt16Vec maRowFields
 All fields in pivot cache order. More...
 
ScfUInt16Vec maColFields
 Row field indexes. More...
 
ScfUInt16Vec maPageFields
 Column field indexes. More...
 
std::vector< XclPTDataFieldPosmaDataFields
 Page field indexes. More...
 
XclExpPTField maDataOrientField
 Data field indexes. More...
 
SCTAB mnOutScTab
 Special data field orientation field. More...
 
bool mbValid
 Sheet index of the output range. More...
 
bool mbFilterBtn
 true = The pivot table is valid for export. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from salhelper::SimpleReferenceObject
static void * operator new (std::size_t nSize)
 
static void * operator new (std::size_t nSize, std::nothrow_t const &rNothrow)
 
static void operator delete (void *pPtr)
 
static void operator delete (void *pPtr, std::nothrow_t const &rNothrow)
 
- Protected Member Functions inherited from salhelper::SimpleReferenceObject
virtual ~SimpleReferenceObject () COVERITY_NOEXCEPT_FALSE
 
- Protected Member Functions inherited from XclExpRoot
 XclExpRoot (XclExpRootData &rExpRootData)
 
const XclExpRootGetRoot () const
 Returns this root instance - for code readability in derived classes. More...
 
bool IsRelUrl () const
 Returns true, if URLs should be stored relative to the document location. More...
 
sc::CompileFormulaContextGetCompileFormulaContext () const
 
XclExpTabInfoGetTabInfo () const
 Returns the buffer for Calc->Excel sheet index conversion. More...
 
XclExpAddressConverterGetAddressConverter () const
 Returns the address converter. More...
 
XclExpFormulaCompilerGetFormulaCompiler () const
 Returns the formula compiler to produce formula token arrays. More...
 
XclExpProgressBarGetProgressBar () const
 Returns the export progress bar. More...
 
XclExpSstGetSst () const
 Returns the shared string table. More...
 
XclExpPaletteGetPalette () const
 Returns the color buffer. More...
 
XclExpFontBufferGetFontBuffer () const
 Returns the font buffer. More...
 
XclExpNumFmtBufferGetNumFmtBuffer () const
 Returns the number format buffer. More...
 
XclExpXFBufferGetXFBuffer () const
 Returns the cell formatting attributes buffer. More...
 
XclExpLinkManagerGetGlobalLinkManager () const
 Returns the global link manager for defined names. More...
 
XclExpLinkManagerGetLocalLinkManager () const
 Returns the local link manager for the current sheet. More...
 
XclExpNameManagerGetNameManager () const
 Returns the buffer that contains internal defined names. More...
 
XclExpObjectManagerGetObjectManager () const
 Returns the drawing object manager. More...
 
XclExpFilterManagerGetFilterManager () const
 Returns the filter manager. More...
 
XclExpPivotTableManagerGetPivotTableManager () const
 Returns the pivot table manager. More...
 
XclExpDxfsGetDxfs () const
 Returns the differential formatting list. More...
 
OStringBuffer & GetStringBuf () const
 Clean and return the OStringBuffer. More...
 
XclExpXmlPivotTableManagerGetXmlPivotTableManager ()
 
XclExpTablesManagerGetTablesManager ()
 
void InitializeConvert ()
 Is called when export filter starts to create the Excel document (all BIFF versions). More...
 
void InitializeGlobals ()
 Is called when export filter starts to create the workbook global data (>=BIFF5). More...
 
void InitializeTable (SCTAB nScTab)
 Is called when export filter starts to create data for a single sheet (all BIFF versions). More...
 
void InitializeSave ()
 Is called before export filter starts to write the records to the stream. More...
 
XclExpRecordRef CreateRecord (sal_uInt16 nRecId) const
 Returns the reference to a record (or record list) representing a root object. More...
 
bool IsDocumentEncrypted () const
 
css::uno::Sequence< css::beans::NamedValue > GetEncryptionData () const
 
- Protected Member Functions inherited from XclRoot
 XclRoot (XclRootData &rRootData)
 
 XclRoot (const XclRoot &rRoot)
 
virtual ~XclRoot ()
 
XclRootoperator= (const XclRoot &rRoot)
 
RootDataGetOldRoot () const
 Returns old RootData struct. More...
 
XclBiff GetBiff () const
 Returns the current BIFF version of the importer/exporter. More...
 
XclOutput GetOutput () const
 Returns the current output format of the importer/exporter. More...
 
bool IsImport () const
 Returns true, if currently a document is imported. More...
 
rtl_TextEncoding GetTextEncoding () const
 Returns the text encoding to import/export byte strings. More...
 
LanguageType GetSysLanguage () const
 Returns the system language, i.e. More...
 
LanguageType GetDocLanguage () const
 Returns the document language. More...
 
LanguageType GetUILanguage () const
 Returns the UI language. More...
 
sal_Int16 GetDefApiScript () const
 Returns the default script type, e.g. More...
 
tools::Long GetCharWidth () const
 Returns the width of the '0' character (default font) for the current printer (twips). More...
 
tools::Long GetSpaceWidth () const
 
bool IsInGlobals () const
 Returns the current Calc sheet index. More...
 
SCTAB GetCurrScTab () const
 Returns the current Calc sheet index. More...
 
sal_Int32 GetHmmFromPixelX (double fPixelX) const
 Calculates the width of the passed number of pixels in 1/100 mm. More...
 
sal_Int32 GetHmmFromPixelY (double fPixelY) const
 Calculates the height of the passed number of pixels in 1/100 mm. More...
 
SfxMediumGetMedium () const
 Returns the medium to import from. More...
 
const OUString & GetDocUrl () const
 Returns the document URL of the imported/exported file. More...
 
const OUString & GetBasePath () const
 Returns the base path of the imported/exported file. More...
 
const OUString & GetUserName () const
 Returns the current user name. More...
 
css::uno::Sequence< css::beans::NamedValue > RequestEncryptionData (::comphelper::IDocPasswordVerifier &rVerifier) const
 Requests and verifies a password from the medium or the user. More...
 
const tools::SvRef< SotStorage > & GetRootStorage () const
 Returns the OLE2 root storage of the imported/exported file. More...
 
bool HasVbaStorage () const
 Returns true, if the document contains a VBA storage. More...
 
tools::SvRef< SotStorageOpenStorage (tools::SvRef< SotStorage > const &xStrg, const OUString &rStrgName) const
 Tries to open a storage as child of the specified storage for reading or writing. More...
 
tools::SvRef< SotStorageOpenStorage (const OUString &rStrgName) const
 Tries to open a storage as child of the root storage for reading or writing. More...
 
tools::SvRef< SotStorageStreamOpenStream (tools::SvRef< SotStorage > const &xStrg, const OUString &rStrmName) const
 Tries to open a new stream in the specified storage for reading or writing. More...
 
tools::SvRef< SotStorageStreamOpenStream (const OUString &rStrmName) const
 Tries to open a new stream in the root storage for reading or writing. More...
 
ScDocumentGetDoc () const
 Returns reference to the destination document (import) or source document (export). More...
 
SfxObjectShellGetDocShell () const
 Returns the object shell of the Calc document. More...
 
ScModelObjGetDocModelObj () const
 Returns the object model of the Calc document. More...
 
OutputDeviceGetPrinter () const
 Returns pointer to the printer of the Calc document. More...
 
ScStyleSheetPoolGetStyleSheetPool () const
 Returns the style sheet pool of the Calc document. More...
 
ScRangeNameGetNamedRanges () const
 Returns the defined names container of the Calc document. More...
 
SdrPageGetSdrPage (SCTAB nScTab) const
 Returns the drawing layer page of the passed sheet, if present. More...
 
SvNumberFormatterGetFormatter () const
 Returns the number formatter of the Calc document. More...
 
DateTime GetNullDate () const
 Returns the null date of the current number formatter. More...
 
sal_uInt16 GetBaseYear () const
 Returns the base year depending on the current null date (1900 or 1904). More...
 
double GetDoubleFromDateTime (const DateTime &rDateTime) const
 Converts a date/time value to a floating-point value. More...
 
DateTime GetDateTimeFromDouble (double fValue) const
 Converts a floating-point value to a date/time value. More...
 
ScEditEngineDefaulterGetEditEngine () const
 Returns the edit engine for import/export of rich strings etc. More...
 
ScHeaderEditEngineGetHFEditEngine () const
 Returns the edit engine for import/export of headers/footers. More...
 
EditEngineGetDrawEditEngine () const
 Returns the edit engine for import/export of drawing text boxes. More...
 
XclFontPropSetHelperGetFontPropSetHelper () const
 Returns the property set helper for fonts. More...
 
XclChPropSetHelperGetChartPropSetHelper () const
 Returns the property set helper for the chart filters. More...
 
ScExtDocOptionsGetExtDocOptions () const
 Returns the extended document options. More...
 
XclTracerGetTracer () const
 Returns the filter tracer. More...
 
const ScAddressGetScMaxPos () const
 Returns the highest possible cell address in a Calc document. More...
 
const ScAddressGetXclMaxPos () const
 Returns the highest possible cell address in an Excel document (using current BIFF version). More...
 
const ScAddressGetMaxPos () const
 Returns the highest possible cell address valid in Calc and Excel (using current BIFF version). More...
 
void SetDocLanguage (LanguageType eLang)
 Sets the document language. More...
 
void SetUILanguage (LanguageType eLang)
 Sets the UI language, i.e. More...
 
void SetTextEncoding (rtl_TextEncoding eTextEnc)
 Sets the text encoding to import/export byte strings. More...
 
void SetCharWidth (const XclFontData &rFontData)
 Sets the width of the '0' - '9' digit character as well as the ' ' space char (using the default font) for the current printer (twips). More...
 
void SetCurrScTab (SCTAB nScTab)
 Sets the current Calc sheet index. More...
 
void IncCurrScTab ()
 Increases the current Calc sheet index by 1. More...
 
- Static Protected Member Functions inherited from XclExpRoot
static css::uno::Sequence< css::beans::NamedValue > GenerateEncryptionData (std::u16string_view aPass)
 
static css::uno::Sequence< css::beans::NamedValue > GenerateDefaultEncryptionData ()
 
- Static Protected Member Functions inherited from XclRoot
static OUString GetDefaultPassword ()
 Returns the default password used for stream encryption. More...
 
- Protected Attributes inherited from salhelper::SimpleReferenceObject
oslInterlockedCount m_nCount
 

Detailed Description

Definition at line 317 of file xepivot.hxx.

Member Typedef Documentation

◆ XclExpPTFieldList

Definition at line 379 of file xepivot.hxx.

◆ XclExpPTFieldRef

Definition at line 380 of file xepivot.hxx.

Constructor & Destructor Documentation

◆ XclExpPivotTable()

XclExpPivotTable::XclExpPivotTable ( const XclExpRoot rRoot,
const ScDPObject rDPObj,
const XclExpPivotCache rPCache 
)
explicit

Member Function Documentation

◆ Finalize()

void XclExpPivotTable::Finalize ( )
private

◆ GetCacheField()

const XclExpPCField * XclExpPivotTable::GetCacheField ( sal_uInt16  nCacheIdx) const

Returns a pivot cache field.

Definition at line 1235 of file xepivot.cxx.

References XclExpPivotCache::GetField(), and mrPCache.

◆ GetDataFieldIndex()

sal_uInt16 XclExpPivotTable::GetDataFieldIndex ( const OUString &  rName,
sal_uInt16  nDefaultIdx 
) const

Returns the data-field-only index of the first data field with the passed name.

Parameters
nDefaultIdxThis value will be returned, if the field could not be found.

Definition at line 1250 of file xepivot.cxx.

References maDataFields.

Referenced by XclExpPTField::SetPropertiesFromDim().

◆ GetField() [1/2]

const XclExpPTField * XclExpPivotTable::GetField ( sal_uInt16  nFieldIdx) const

Returns a pivot table field by its name.

Definition at line 1240 of file xepivot.cxx.

References EXC_SXIVD_DATA, XclExpRecordList< RecType >::GetRecord(), maDataOrientField, and maFieldList.

Referenced by XclExpPTField::SetDataPropertiesFromDim().

◆ GetField() [2/2]

const XclExpPTField * XclExpPivotTable::GetField ( std::u16string_view  rName) const

Returns a pivot table field by its name.

Definition at line 1245 of file xepivot.cxx.

References GetFieldAcc().

◆ GetFieldAcc() [1/2]

XclExpPTField * XclExpPivotTable::GetFieldAcc ( const ScDPSaveDimension rSaveDim)
private

Returns a pivot table field corresponding to the passed save dimension.

Definition at line 1298 of file xepivot.cxx.

References GetFieldAcc(), ScDPSaveDimension::GetName(), ScDPUtil::getSourceDimensionName(), ScDPSaveDimension::IsDataLayout(), and maDataOrientField.

◆ GetFieldAcc() [2/2]

XclExpPTField * XclExpPivotTable::GetFieldAcc ( std::u16string_view  rName)
private

◆ GetScTab()

SCTAB XclExpPivotTable::GetScTab ( ) const
inline

Returns the output range of the pivot table.

Definition at line 327 of file xepivot.hxx.

References mnOutScTab.

◆ Save()

void XclExpPivotTable::Save ( XclExpStream rStrm)
overridevirtual

◆ SetDataFieldPropertiesFromDim()

void XclExpPivotTable::SetDataFieldPropertiesFromDim ( const ScDPSaveDimension rSaveDim)
private

Fills a pivot table data field with all properties from the passed save dimension.

Definition at line 1366 of file xepivot.cxx.

References GetFieldAcc(), and maDataFields.

Referenced by XclExpPivotTable().

◆ SetFieldPropertiesFromDim()

void XclExpPivotTable::SetFieldPropertiesFromDim ( const ScDPSaveDimension rSaveDim)
private

◆ SetPropertiesFromDP()

void XclExpPivotTable::SetPropertiesFromDP ( const ScDPSaveData rSaveData)
private

◆ WriteQsiSxTag()

void XclExpPivotTable::WriteQsiSxTag ( XclExpStream rStrm) const
private

Definition at line 1528 of file xepivot.cxx.

References maPTInfo, XclPTInfo::maTableName, and rStrm.

Referenced by Save().

◆ WriteSxdiList()

void XclExpPivotTable::WriteSxdiList ( XclExpStream rStrm) const
private

Writes all SXDI records containing info about the data fields.

Definition at line 1487 of file xepivot.cxx.

References XclExpRecordList< RecType >::GetRecord(), maDataFields, maFieldList, and rStrm.

Referenced by Save().

◆ WriteSxex()

void XclExpPivotTable::WriteSxex ( XclExpStream rStrm) const
private

Writes the SXEX records containing additional pivot table info.

Definition at line 1521 of file xepivot.cxx.

References EXC_ID_SXEX, maPTExtInfo, and rStrm.

Referenced by Save().

◆ WriteSxivd()

void XclExpPivotTable::WriteSxivd ( XclExpStream rStrm,
const ScfUInt16Vec rFields 
)
staticprivate

Writes an SXIVD record for row field or column field order.

Definition at line 1460 of file xepivot.cxx.

References EXC_ID_SXIVD, and rStrm.

Referenced by Save().

◆ WriteSxli()

void XclExpPivotTable::WriteSxli ( XclExpStream rStrm,
sal_uInt16  nLineCount,
sal_uInt16  nIndexCount 
)
staticprivate

Writes a dummy SXLI records containing item layout info.

Definition at line 1497 of file xepivot.cxx.

References EXC_ID_SXLI, EXC_SXLI_DEFAULTFLAGS, EXC_SXVI_TYPE_DATA, nIndexCount, and rStrm.

Referenced by Save().

◆ WriteSxpi()

void XclExpPivotTable::WriteSxpi ( XclExpStream rStrm) const
private

Writes the SXPI record containing page field info.

Definition at line 1471 of file xepivot.cxx.

References EXC_ID_SXPI, XclExpRecordList< RecType >::GetRecord(), maFieldList, maPageFields, and rStrm.

Referenced by Save().

◆ WriteSxview()

void XclExpPivotTable::WriteSxview ( XclExpStream rStrm) const
private

Writes the SXVIEW record starting the pivot table.

Definition at line 1453 of file xepivot.cxx.

References EXC_ID_SXVIEW, XclPTInfo::maDataName, maPTInfo, XclPTInfo::maTableName, and rStrm.

Referenced by Save().

◆ WriteSxViewEx9()

void XclExpPivotTable::WriteSxViewEx9 ( XclExpStream rStrm) const
private

Writes the SX_AUTOFORMAT records with the autoformat id and header layout.

Definition at line 1582 of file xepivot.cxx.

References EXC_ID_SXVIEWEX9, maPTViewEx9Info, XclPTViewEx9Info::mnGridLayout, and rStrm.

Referenced by Save().

Member Data Documentation

◆ maColFields

ScfUInt16Vec XclExpPivotTable::maColFields
private

Row field indexes.

Definition at line 388 of file xepivot.hxx.

Referenced by Finalize(), Save(), and SetFieldPropertiesFromDim().

◆ maDataFields

std::vector< XclPTDataFieldPos > XclExpPivotTable::maDataFields
private

Page field indexes.

Definition at line 391 of file xepivot.hxx.

Referenced by Finalize(), GetDataFieldIndex(), SetDataFieldPropertiesFromDim(), SetFieldPropertiesFromDim(), and WriteSxdiList().

◆ maDataOrientField

XclExpPTField XclExpPivotTable::maDataOrientField
private

Data field indexes.

Definition at line 392 of file xepivot.hxx.

Referenced by GetField(), and GetFieldAcc().

◆ maFieldList

XclExpPTFieldList XclExpPivotTable::maFieldList
private

The selected autoformat (SXVIEWEX9)

Definition at line 386 of file xepivot.hxx.

Referenced by Finalize(), GetField(), GetFieldAcc(), Save(), WriteSxdiList(), WriteSxpi(), and XclExpPivotTable().

◆ maPageFields

ScfUInt16Vec XclExpPivotTable::maPageFields
private

Column field indexes.

Definition at line 389 of file xepivot.hxx.

Referenced by Finalize(), SetFieldPropertiesFromDim(), and WriteSxpi().

◆ maPTExtInfo

XclPTExtInfo XclExpPivotTable::maPTExtInfo
private

Info about the pivot table (SXVIEW record).

Definition at line 384 of file xepivot.hxx.

Referenced by Finalize(), SetPropertiesFromDP(), and WriteSxex().

◆ maPTInfo

XclPTInfo XclExpPivotTable::maPTInfo
private

The pivot cache this pivot table bases on.

Definition at line 383 of file xepivot.hxx.

Referenced by Finalize(), Save(), SetFieldPropertiesFromDim(), SetPropertiesFromDP(), WriteQsiSxTag(), WriteSxview(), and XclExpPivotTable().

◆ maPTViewEx9Info

XclPTViewEx9Info XclExpPivotTable::maPTViewEx9Info
private

Extended info about the pivot table (SXEX record).

Definition at line 385 of file xepivot.hxx.

Referenced by Finalize(), WriteSxViewEx9(), and XclExpPivotTable().

◆ maRowFields

ScfUInt16Vec XclExpPivotTable::maRowFields
private

All fields in pivot cache order.

Definition at line 387 of file xepivot.hxx.

Referenced by Finalize(), Save(), and SetFieldPropertiesFromDim().

◆ mbFilterBtn

bool XclExpPivotTable::mbFilterBtn
private

true = The pivot table is valid for export.

Definition at line 395 of file xepivot.hxx.

Referenced by Finalize(), and SetPropertiesFromDP().

◆ mbValid

bool XclExpPivotTable::mbValid
private

Sheet index of the output range.

Definition at line 394 of file xepivot.hxx.

Referenced by Save(), and XclExpPivotTable().

◆ mnOutScTab

SCTAB XclExpPivotTable::mnOutScTab
private

Special data field orientation field.

Definition at line 393 of file xepivot.hxx.

Referenced by GetScTab(), and XclExpPivotTable().

◆ mrPCache

const XclExpPivotCache& XclExpPivotTable::mrPCache
private

Definition at line 382 of file xepivot.hxx.

Referenced by GetCacheField(), and XclExpPivotTable().


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