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

This class contains the cell contents and more of an entire sheet. More...

#include <xetable.hxx>

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

Public Member Functions

 XclExpCellTable (const XclExpRoot &rRoot)
 
void Finalize (bool bXLS)
 Converts all XF identifiers into the Excel XF indexes and calculates default formats. More...
 
XclExpRecordRef CreateRecord (sal_uInt16 nRecId) const
 Returns the reference to an internal record specified by the passed record id. More...
 
virtual void Save (XclExpStream &rStrm) override
 Saves the entire cell table. More...
 
virtual void SaveXml (XclExpXmlStream &rStrm) override
 
- 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< XclExpNoteXclExpNoteList
 
typedef XclExpRecordList< XclExpHyperlinkXclExpHyperlinkList
 
typedef rtl::Reference< XclExpDefrowheightXclExpDefrowhRef
 
typedef rtl::Reference< XclExpNoteListXclExpNoteListRef
 
typedef rtl::Reference< XclExpMergedcellsXclExpMergedcellsRef
 
typedef rtl::Reference< XclExpHyperlinkListXclExpHyperlinkRef
 
typedef rtl::Reference< XclExpDvalXclExpDvalRef
 
typedef rtl::Reference< XclExtLstXclExtLstRef
 

Private Attributes

XclExpColinfoBuffer maColInfoBfr
 
XclExpRowBuffer maRowBfr
 Buffer for column formatting. More...
 
XclExpArrayBuffer maArrayBfr
 Rows and cell records. More...
 
XclExpShrfmlaBuffer maShrfmlaBfr
 Buffer for ARRAY records. More...
 
XclExpTableopBuffer maTableopBfr
 Buffer for SHRFMLA records. More...
 
XclExpDefrowhRef mxDefrowheight
 Buffer for TABLEOP records. More...
 
XclExpRecordRef mxGuts
 DEFROWHEIGHT record for default row format. More...
 
XclExpNoteListRef mxNoteList
 GUTS record for outline areas. More...
 
XclExpMergedcellsRef mxMergedcells
 List of NOTE records. More...
 
XclExpHyperlinkRef mxHyperlinkList
 MERGEDCELLS record for merged cell ranges. More...
 
XclExpDvalRef mxDval
 List of HLINK records. More...
 
XclExtLstRef mxExtLst
 Data validation with DVAL and DV records. 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

This class contains the cell contents and more of an entire sheet.

The cell table includes the settings and default formatting of all columns, the settings and default formatting of all used rows, and the contents of all cells of one sheet in a spreadsheet document.

The constructor does all the work creating the cell table. It reads the Calc sheet and converts all columns, rows, and cells to Excel record data. Additionally, hyperlink records, note records, additional records for formula cells, data validation records, and outline records are created.

The Finalize() function does even more work. It calculates default column settings and removes column records that are equal to this default. The same happens with rows: A default format is calculated for each row, and all blank cells in this row that have the same format are removed. Then, the most used row settings are calculated, and all empty rows that have the same settings are removed too.

Records that are not stored inside the cell table area in an Excel file (i.e. DEFROWHEIGHT record, NOTE records, MERGEDCELLS record, HLINK records, DVAL and DV records for data validation) can be accessed with the function CreateRecord(). It returns the reference to the respective record (or record list) which can be inserted into a record list.

Definition at line 986 of file xetable.hxx.

Member Typedef Documentation

◆ XclExpDefrowhRef

Definition at line 1007 of file xetable.hxx.

◆ XclExpDvalRef

Definition at line 1011 of file xetable.hxx.

◆ XclExpHyperlinkList

Definition at line 1005 of file xetable.hxx.

◆ XclExpHyperlinkRef

Definition at line 1010 of file xetable.hxx.

◆ XclExpMergedcellsRef

Definition at line 1009 of file xetable.hxx.

◆ XclExpNoteList

Definition at line 1004 of file xetable.hxx.

◆ XclExpNoteListRef

Definition at line 1008 of file xetable.hxx.

◆ XclExtLstRef

Definition at line 1012 of file xetable.hxx.

Constructor & Destructor Documentation

◆ XclExpCellTable()

XclExpCellTable::XclExpCellTable ( const XclExpRoot rRoot)
explicit

Definition at line 2523 of file xetable.cxx.

References XclExpProgressBar::ActivateCreateRowsSegment(), ScGlobal::addToken(), ScRange::aEnd, XclExpRowBuffer::AppendCell(), ScRange::aStart, ATTR_HYPERLINK(), ATTR_MERGE(), ATTR_MERGE_FLAG(), ATTR_VALIDDATA(), ATTR_VALUE_FORMAT(), CELLTYPE_EDIT, CELLTYPE_FORMULA, CELLTYPE_NONE, CELLTYPE_STRING, CELLTYPE_VALUE, ScfTools::CheckItem(), ScAddress::Col(), XclExpRowBuffer::CreateRows(), EXC_XFID_NOTFOUND, SfxItemSet::Get(), XclExpRoot::GetAddressConverter(), ScUsedAreaIterator::GetCell(), ScMergeAttr::GetColMerge(), XclRoot::GetCurrScTab(), XclRoot::GetDoc(), ScRefCellValue::getDouble(), ScRefCellValue::getEditText(), ScUsedAreaIterator::GetEndCol(), XclRoot::GetFormatter(), ScRefCellValue::getFormula(), ScPatternAttr::GetItemSet(), ScDocument::GetLastFlaggedRow(), XclExpHyperlinkHelper::GetLinkRecord(), XclRoot::GetMaxPos(), ScUsedAreaIterator::GetNext(), ScDocument::GetOutlineTable(), ScUsedAreaIterator::GetPattern(), XclExpRoot::GetProgressBar(), ScOutlineArray::GetRange(), XclTools::GetRKFromDouble(), XclExpRoot::GetRoot(), ScUsedAreaIterator::GetRow(), ScMergeAttr::GetRowMerge(), ScRefCellValue::getSharedString(), ScUsedAreaIterator::GetStartCol(), svl::SharedString::getString(), ScDocument::GetTableArea(), ScRefCellValue::getType(), SvNumberFormatter::GetType(), XclExpHyperlinkHelper::GetUrlList(), XclExpHyperlinkHelper::HasLinkRecord(), XclExpHyperlinkHelper::HasMultipleUrls(), ScAddress::IncCol(), ScAddress::IncRow(), XclExpColinfoBuffer::Initialize(), ScMergeAttr::IsMerged(), ScMergeFlagAttr::IsOverlapped(), maArrayBfr, maColInfoBfr, maRowBfr, maShrfmlaBfr, maTableopBfr, mxDval, mxHyperlinkList, mxMergedcells, mxNoteList, nIndex, ScAddress::Row(), ScAddress::SetCol(), and XclExpAddressConverter::ValidateRange().

Member Function Documentation

◆ CreateRecord()

XclExpRecordRef XclExpCellTable::CreateRecord ( sal_uInt16  nRecId) const

Returns the reference to an internal record specified by the passed record id.

Parameters
nRecIdThe record identifier that specifies which record is returned. Possible values are: EXC_ID_DEFROWHEIGHT, EXC_ID_NOTE, EXC_ID_MERGEDCELLS, EXC_ID_HLINK, EXC_ID_DVAL.

Definition at line 2793 of file xetable.cxx.

References EXC_ID2_DEFROWHEIGHT, EXC_ID3_DIMENSIONS, EXC_ID_DVAL, EXC_ID_EXTLST, EXC_ID_GUTS, EXC_ID_HLINK, EXC_ID_MERGEDCELLS, EXC_ID_NOTE, maRowBfr, mxDefrowheight, mxDval, mxExtLst, mxGuts, mxHyperlinkList, mxMergedcells, and mxNoteList.

◆ Finalize()

void XclExpCellTable::Finalize ( bool  bXLS)

Converts all XF identifiers into the Excel XF indexes and calculates default formats.

Definition at line 2767 of file xetable.cxx.

References EXC_XF_DEFAULTCELL, XclExpTableopBuffer::Finalize(), XclExpColinfoBuffer::Finalize(), XclExpRowBuffer::Finalize(), findFirstAllSameUntilEnd(), maColInfoBfr, maRowBfr, maTableopBfr, and mxDefrowheight.

◆ Save()

void XclExpCellTable::Save ( XclExpStream rStrm)
overridevirtual

Saves the entire cell table.

Reimplemented from XclExpRecordBase.

Definition at line 2811 of file xetable.cxx.

References maColInfoBfr, maRowBfr, rStrm, XclExpColinfoBuffer::Save(), and XclExpRowBuffer::Save().

◆ SaveXml()

void XclExpCellTable::SaveXml ( XclExpXmlStream rStrm)
overridevirtual

Member Data Documentation

◆ maArrayBfr

XclExpArrayBuffer XclExpCellTable::maArrayBfr
private

Rows and cell records.

Definition at line 1016 of file xetable.hxx.

Referenced by XclExpCellTable().

◆ maColInfoBfr

XclExpColinfoBuffer XclExpCellTable::maColInfoBfr
private

Definition at line 1014 of file xetable.hxx.

Referenced by Finalize(), Save(), SaveXml(), and XclExpCellTable().

◆ maRowBfr

XclExpRowBuffer XclExpCellTable::maRowBfr
private

Buffer for column formatting.

Definition at line 1015 of file xetable.hxx.

Referenced by CreateRecord(), Finalize(), Save(), SaveXml(), and XclExpCellTable().

◆ maShrfmlaBfr

XclExpShrfmlaBuffer XclExpCellTable::maShrfmlaBfr
private

Buffer for ARRAY records.

Definition at line 1017 of file xetable.hxx.

Referenced by XclExpCellTable().

◆ maTableopBfr

XclExpTableopBuffer XclExpCellTable::maTableopBfr
private

Buffer for SHRFMLA records.

Definition at line 1018 of file xetable.hxx.

Referenced by Finalize(), and XclExpCellTable().

◆ mxDefrowheight

XclExpDefrowhRef XclExpCellTable::mxDefrowheight
private

Buffer for TABLEOP records.

Definition at line 1019 of file xetable.hxx.

Referenced by CreateRecord(), Finalize(), and SaveXml().

◆ mxDval

XclExpDvalRef XclExpCellTable::mxDval
private

List of HLINK records.

Definition at line 1024 of file xetable.hxx.

Referenced by CreateRecord(), and XclExpCellTable().

◆ mxExtLst

XclExtLstRef XclExpCellTable::mxExtLst
private

Data validation with DVAL and DV records.

Definition at line 1025 of file xetable.hxx.

Referenced by CreateRecord(), and SaveXml().

◆ mxGuts

XclExpRecordRef XclExpCellTable::mxGuts
private

DEFROWHEIGHT record for default row format.

Definition at line 1020 of file xetable.hxx.

Referenced by CreateRecord().

◆ mxHyperlinkList

XclExpHyperlinkRef XclExpCellTable::mxHyperlinkList
private

MERGEDCELLS record for merged cell ranges.

Definition at line 1023 of file xetable.hxx.

Referenced by CreateRecord(), and XclExpCellTable().

◆ mxMergedcells

XclExpMergedcellsRef XclExpCellTable::mxMergedcells
private

List of NOTE records.

Definition at line 1022 of file xetable.hxx.

Referenced by CreateRecord(), and XclExpCellTable().

◆ mxNoteList

XclExpNoteListRef XclExpCellTable::mxNoteList
private

GUTS record for outline areas.

Definition at line 1021 of file xetable.hxx.

Referenced by CreateRecord(), and XclExpCellTable().


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