LibreOffice Module sc (master) 1
|
#include <xepivot.hxx>
Public Member Functions | |
XclExpPivotCache (const XclExpRoot &rRoot, const ScDPObject &rDPObj, sal_uInt16 nListIdx) | |
bool | IsValid () const |
Returns true, if the cache has been constructed successfully. More... | |
bool | HasItemIndexList () const |
Returns true, if the item index list will be written. More... | |
sal_uInt16 | GetCacheIndex () const |
Returns the list index of the cache used in pivot table records. More... | |
sal_uInt16 | GetFieldCount () const |
Returns the number of pivot cache fields. More... | |
const XclExpPCField * | GetField (sal_uInt16 nFieldIdx) const |
Returns the specified pivot cache field. More... | |
bool | HasAddFields () const |
Returns true, if this pivot cache contains non-standard fields (e.g. More... | |
bool | HasEqualDataSource (const ScDPObject &rDPObj) const |
Returns true, if the passed DP object has the same data source as this cache. More... | |
void | Save (XclExpStream &rStrm) |
Writes related records into Workbook stream and creates the pivot cache storage stream. More... | |
Public Member Functions inherited from salhelper::SimpleReferenceObject | |
SimpleReferenceObject () | |
void | acquire () |
void | release () |
Static Public Member Functions | |
static void | SaveXml (XclExpXmlStream &rStrm) |
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) |
Private Types | |
typedef XclExpRecordList< XclExpPCField > | XclExpPCFieldList |
typedef XclExpPCFieldList::RecordRefType | XclExpPCFieldRef |
Private Member Functions | |
void | AddFields (const ScDPObject &rDPObj) |
Adds all pivot cache fields. More... | |
void | AddStdFields (const ScDPObject &rDPObj) |
Adds all standard pivot cache fields based on source data. More... | |
void | AddGroupFields (const ScDPObject &rDPObj) |
Adds all grouping pivot cache fields. More... | |
void | WriteDconref (XclExpStream &rStrm) const |
Writes the DCONREF record containing the source range. More... | |
void | WriteDConName (XclExpStream &rStrm) const |
DCONNAME record contains range name source. More... | |
void | WriteCacheStream () |
Creates the pivot cache storage stream and writes the cache. More... | |
void | WriteSxdb (XclExpStream &rStrm) const |
Writes the SXDB record. More... | |
void | WriteSxindexlistList (XclExpStream &rStrm) const |
Writes the SXINDEXLIST record list containing the item index table. More... | |
Static Private Member Functions | |
static void | WriteSxdbex (XclExpStream &rStrm) |
Writes the SXDBEX record. More... | |
Private Attributes | |
XclPCInfo | maPCInfo |
XclExpPCFieldList | maFieldList |
Pivot cache settings (SXDB record). More... | |
OUString | maTabName |
List of all pivot cache fields. More... | |
OUString | maSrcRangeName |
Name of source data sheet. More... | |
ScRange | maOrigSrcRange |
Range name for source data. More... | |
ScRange | maExpSrcRange |
The original sheet source range. More... | |
ScRange | maDocSrcRange |
The exported sheet source range. More... | |
sal_uInt16 | mnListIdx |
The range used to build the cache fields and items. More... | |
bool | mbValid |
List index in pivot cache buffer. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from salhelper::SimpleReferenceObject | |
virtual | ~SimpleReferenceObject () COVERITY_NOEXCEPT_FALSE |
Protected Member Functions inherited from XclExpRoot | |
XclExpRoot (XclExpRootData &rExpRootData) | |
const XclExpRoot & | GetRoot () 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::CompileFormulaContext & | GetCompileFormulaContext () const |
XclExpTabInfo & | GetTabInfo () const |
Returns the buffer for Calc->Excel sheet index conversion. More... | |
XclExpAddressConverter & | GetAddressConverter () const |
Returns the address converter. More... | |
XclExpFormulaCompiler & | GetFormulaCompiler () const |
Returns the formula compiler to produce formula token arrays. More... | |
XclExpProgressBar & | GetProgressBar () const |
Returns the export progress bar. More... | |
XclExpSst & | GetSst () const |
Returns the shared string table. More... | |
XclExpPalette & | GetPalette () const |
Returns the color buffer. More... | |
XclExpFontBuffer & | GetFontBuffer () const |
Returns the font buffer. More... | |
XclExpNumFmtBuffer & | GetNumFmtBuffer () const |
Returns the number format buffer. More... | |
XclExpXFBuffer & | GetXFBuffer () const |
Returns the cell formatting attributes buffer. More... | |
XclExpLinkManager & | GetGlobalLinkManager () const |
Returns the global link manager for defined names. More... | |
XclExpLinkManager & | GetLocalLinkManager () const |
Returns the local link manager for the current sheet. More... | |
XclExpNameManager & | GetNameManager () const |
Returns the buffer that contains internal defined names. More... | |
XclExpObjectManager & | GetObjectManager () const |
Returns the drawing object manager. More... | |
XclExpFilterManager & | GetFilterManager () const |
Returns the filter manager. More... | |
XclExpPivotTableManager & | GetPivotTableManager () const |
Returns the pivot table manager. More... | |
XclExpDxfs & | GetDxfs () const |
Returns the differential formatting list. More... | |
OStringBuffer & | GetStringBuf () const |
Clean and return the OStringBuffer. More... | |
XclExpXmlPivotTableManager & | GetXmlPivotTableManager () |
XclExpTablesManager & | GetTablesManager () |
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 () |
XclRoot & | operator= (const XclRoot &rRoot) |
RootData & | GetOldRoot () 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... | |
SfxMedium & | GetMedium () 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< SotStorage > | OpenStorage (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< SotStorage > | OpenStorage (const OUString &rStrgName) const |
Tries to open a storage as child of the root storage for reading or writing. More... | |
tools::SvRef< SotStorageStream > | OpenStream (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< SotStorageStream > | OpenStream (const OUString &rStrmName) const |
Tries to open a new stream in the root storage for reading or writing. More... | |
ScDocument & | GetDoc () const |
Returns reference to the destination document (import) or source document (export). More... | |
SfxObjectShell * | GetDocShell () const |
Returns the object shell of the Calc document. More... | |
ScModelObj * | GetDocModelObj () const |
Returns the object model of the Calc document. More... | |
OutputDevice * | GetPrinter () const |
Returns pointer to the printer of the Calc document. More... | |
ScStyleSheetPool & | GetStyleSheetPool () const |
Returns the style sheet pool of the Calc document. More... | |
ScRangeName & | GetNamedRanges () const |
Returns the defined names container of the Calc document. More... | |
SdrPage * | GetSdrPage (SCTAB nScTab) const |
Returns the drawing layer page of the passed sheet, if present. More... | |
SvNumberFormatter & | GetFormatter () 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... | |
ScEditEngineDefaulter & | GetEditEngine () const |
Returns the edit engine for import/export of rich strings etc. More... | |
ScHeaderEditEngine & | GetHFEditEngine () const |
Returns the edit engine for import/export of headers/footers. More... | |
EditEngine & | GetDrawEditEngine () const |
Returns the edit engine for import/export of drawing text boxes. More... | |
XclFontPropSetHelper & | GetFontPropSetHelper () const |
Returns the property set helper for fonts. More... | |
XclChPropSetHelper & | GetChartPropSetHelper () const |
Returns the property set helper for the chart filters. More... | |
ScExtDocOptions & | GetExtDocOptions () const |
Returns the extended document options. More... | |
XclTracer & | GetTracer () const |
Returns the filter tracer. More... | |
const ScAddress & | GetScMaxPos () const |
Returns the highest possible cell address in a Calc document. More... | |
const ScAddress & | GetXclMaxPos () const |
Returns the highest possible cell address in an Excel document (using current BIFF version). More... | |
const ScAddress & | GetMaxPos () 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 |
Definition at line 155 of file xepivot.hxx.
|
private |
Definition at line 207 of file xepivot.hxx.
|
private |
Definition at line 208 of file xepivot.hxx.
|
explicit |
Definition at line 617 of file xepivot.cxx.
References AddFields(), ScRange::aEnd, ScRange::aStart, ScAddress::Col(), EXC_SXDB_SAVEDATA, EXC_SXDB_SRC_SHEET, XclExpRoot::GetAddressConverter(), ScDocument::GetDataStart(), XclRoot::GetDoc(), ScDocument::GetName(), ScDocument::GetPrintArea(), ScSheetSourceDesc::GetRangeName(), ScDPObject::GetSheetDesc(), ScSheetSourceDesc::GetSourceRange(), XclExpRoot::GetTabInfo(), maDocSrcRange, maExpSrcRange, maOrigSrcRange, maPCInfo, maSrcRangeName, maTabName, mbValid, XclPCInfo::mnFlags, XclPCInfo::mnSrcRecs, XclPCInfo::mnSrcType, XclPCInfo::mnStrmId, ScAddress::Row(), set_flag(), ScAddress::SetCol(), ScAddress::SetRow(), and ScAddress::Tab().
|
private |
Adds all pivot cache fields.
Definition at line 733 of file xepivot.cxx.
References AddGroupFields(), AddStdFields(), GetFieldCount(), maPCInfo, XclPCInfo::mnStdFields, and XclPCInfo::mnTotalFields.
Referenced by XclExpPivotCache().
|
private |
Adds all grouping pivot cache fields.
Definition at line 756 of file xepivot.cxx.
References XclExpRecordList< RecType >::AppendRecord(), ScDPSaveData::GetExistingDimensionData(), GetFieldCount(), ScDPDimensionSaveData::GetGroupDimForBase(), ScDPSaveGroupDimension::GetGroupDimName(), XclExpRecordList< RecType >::GetRecord(), XclExpRoot::GetRoot(), ScDPObject::GetSaveData(), maFieldList, maPCInfo, XclPCInfo::mnStdFields, and XclExpPCField::SetGroupChildField().
Referenced by AddFields().
|
private |
Adds all standard pivot cache fields based on source data.
Definition at line 741 of file xepivot.cxx.
References ScRange::aEnd, XclExpRecordList< RecType >::AppendNewRecord(), ScRange::aStart, ScAddress::Col(), GetFieldCount(), XclExpRoot::GetRoot(), HasItemIndexList(), maDocSrcRange, maExpSrcRange, maFieldList, and ScAddress::SetCol().
Referenced by AddFields().
|
inline |
Returns the list index of the cache used in pivot table records.
Definition at line 167 of file xepivot.hxx.
References mnListIdx.
Referenced by XclExpPivotTable::XclExpPivotTable().
const XclExpPCField * XclExpPivotCache::GetField | ( | sal_uInt16 | nFieldIdx | ) | const |
Returns the specified pivot cache field.
Definition at line 689 of file xepivot.cxx.
References XclExpRecordList< RecType >::GetRecord(), and maFieldList.
Referenced by XclExpPivotTable::GetCacheField().
sal_uInt16 XclExpPivotCache::GetFieldCount | ( | ) | const |
Returns the number of pivot cache fields.
Definition at line 684 of file xepivot.cxx.
References XclExpRecordList< RecType >::GetSize(), and maFieldList.
Referenced by AddFields(), AddGroupFields(), AddStdFields(), and XclExpPivotTable::XclExpPivotTable().
bool XclExpPivotCache::HasAddFields | ( | ) | const |
Returns true, if this pivot cache contains non-standard fields (e.g.
grouping fields).
Definition at line 694 of file xepivot.cxx.
References maPCInfo, XclPCInfo::mnStdFields, and XclPCInfo::mnTotalFields.
Referenced by XclExpPivotTableManager::CreatePivotCache().
bool XclExpPivotCache::HasEqualDataSource | ( | const ScDPObject & | rDPObj | ) | const |
Returns true, if the passed DP object has the same data source as this cache.
Definition at line 700 of file xepivot.cxx.
References ScDPObject::GetSheetDesc(), and maOrigSrcRange.
Referenced by XclExpPivotTableManager::CreatePivotCache().
bool XclExpPivotCache::HasItemIndexList | ( | ) | const |
Returns true, if the item index list will be written.
Definition at line 679 of file xepivot.cxx.
References EXC_SXDB_SAVEDATA, get_flag(), maPCInfo, and XclPCInfo::mnFlags.
Referenced by AddStdFields(), and WriteSxindexlistList().
|
inline |
Returns true, if the cache has been constructed successfully.
Definition at line 162 of file xepivot.hxx.
References mbValid.
void XclExpPivotCache::Save | ( | XclExpStream & | rStrm | ) |
Writes related records into Workbook stream and creates the pivot cache storage stream.
Definition at line 710 of file xepivot.cxx.
References EXC_ID_SXIDSTM, EXC_ID_SXVS, EXC_SXVS_SHEET, maPCInfo, maSrcRangeName, mbValid, XclPCInfo::mnStrmId, rStrm, WriteCacheStream(), WriteDConName(), and WriteDconref().
|
static |
Definition at line 729 of file xepivot.cxx.
|
private |
Creates the pivot cache storage stream and writes the cache.
Definition at line 811 of file xepivot.cxx.
References EXC_ID_EOF, EXC_STORAGE_PTCACHE, ScfTools::GetHexStr(), XclExpRoot::GetRoot(), tools::SvRef< typename T >::is(), maFieldList, maPCInfo, XclPCInfo::mnStrmId, XclRoot::OpenStorage(), XclRoot::OpenStream(), XclExpRecord::Save(), XclExpRecordList< RecType >::Save(), WriteSxdb(), WriteSxdbex(), and WriteSxindexlistList().
Referenced by Save().
|
private |
DCONNAME record contains range name source.
Definition at line 803 of file xepivot.cxx.
References aName, EXC_ID_DCONNAME, maSrcRangeName, and rStrm.
Referenced by Save().
|
private |
Writes the DCONREF record containing the source range.
Definition at line 790 of file xepivot.cxx.
References ScRange::aEnd, ScRange::aStart, ScAddress::Col(), XclExpUrlHelper::EncodeUrl(), EXC_ID_DCONREF, XclExpRoot::GetRoot(), XclExpString::GetSize(), maExpSrcRange, maTabName, ScAddress::Row(), rStrm, and u.
Referenced by Save().
|
private |
Writes the SXDB record.
Definition at line 831 of file xepivot.cxx.
References EXC_ID_SXDB, maPCInfo, and rStrm.
Referenced by WriteCacheStream().
|
staticprivate |
Writes the SXDBEX record.
Definition at line 838 of file xepivot.cxx.
References EXC_ID_SXDBEX, EXC_SXDBEX_CREATION_DATE, and rStrm.
Referenced by WriteCacheStream().
|
private |
Writes the SXINDEXLIST record list containing the item index table.
Definition at line 846 of file xepivot.cxx.
References EXC_ID_SXINDEXLIST, XclExpPCField::GetIndexSize(), XclExpRecordList< RecType >::GetRecord(), XclExpRecordList< RecType >::GetSize(), HasItemIndexList(), maFieldList, maPCInfo, XclPCInfo::mnSrcRecs, nPos, rStrm, and XclExpPCField::WriteIndex().
Referenced by WriteCacheStream().
|
private |
The exported sheet source range.
Definition at line 216 of file xepivot.hxx.
Referenced by AddStdFields(), and XclExpPivotCache().
|
private |
The original sheet source range.
Definition at line 215 of file xepivot.hxx.
Referenced by AddStdFields(), WriteDconref(), and XclExpPivotCache().
|
private |
Pivot cache settings (SXDB record).
Definition at line 211 of file xepivot.hxx.
Referenced by AddGroupFields(), AddStdFields(), GetField(), GetFieldCount(), WriteCacheStream(), and WriteSxindexlistList().
|
private |
Range name for source data.
Definition at line 214 of file xepivot.hxx.
Referenced by HasEqualDataSource(), and XclExpPivotCache().
|
private |
Definition at line 210 of file xepivot.hxx.
Referenced by AddFields(), AddGroupFields(), HasAddFields(), HasItemIndexList(), Save(), WriteCacheStream(), WriteSxdb(), WriteSxindexlistList(), and XclExpPivotCache().
|
private |
Name of source data sheet.
Definition at line 213 of file xepivot.hxx.
Referenced by Save(), WriteDConName(), and XclExpPivotCache().
|
private |
List of all pivot cache fields.
Definition at line 212 of file xepivot.hxx.
Referenced by WriteDconref(), and XclExpPivotCache().
|
private |
List index in pivot cache buffer.
Definition at line 218 of file xepivot.hxx.
Referenced by IsValid(), Save(), and XclExpPivotCache().
|
private |
The range used to build the cache fields and items.
Definition at line 217 of file xepivot.hxx.
Referenced by GetCacheIndex().