20 #ifndef INCLUDED_SC_SOURCE_FILTER_INC_XETABLE_HXX
21 #define INCLUDED_SC_SOURCE_FILTER_INC_XETABLE_HXX
34 #include <unordered_map>
69 bool IsBasePos( sal_uInt16 nXclCol, sal_uInt32 nXclRow )
const;
79 sal_uInt16 nRecId, sal_uInt32 nRecSize,
const ScAddress& rScPos );
82 sal_uInt16 nRecId, sal_uInt32 nRecSize,
const ScRange& rScRange );
198 typedef std::unordered_map<const ScTokenArray*, XclExpShrfmlaRef>
TokensType;
230 bool IsAppendable( sal_uInt16 nXclCol, sal_uInt16 nXclRow )
const;
289 virtual bool IsEmpty()
const = 0;
305 sal_uInt16 nRecId, std::size_t nContSize,
const XclAddress& rXclPos );
327 virtual bool IsEmpty()
const override;
335 const XclAddress& rXclPos, sal_uInt32 nXFId );
338 sal_uInt16 nRecId, std::size_t nContSize,
const XclAddress& rXclPos,
339 const ScPatternAttr* pPattern, sal_Int16 nScript, sal_uInt32 nForcedXFId );
405 const OUString& rStr );
475 virtual bool IsEmpty()
const override;
486 std::size_t nContSize,
const XclAddress& rXclPos );
496 sal_uInt32 nForcedXFId, sal_uInt16
nCount = 1 );
528 const XclAddress& rXclPos, sal_uInt16 nLastXclCol,
550 sal_Int32 nRkValue );
595 std::vector< XclExpLevelInfo >
649 sal_uInt16 nFirstUsedXclCol, sal_uInt32 nFirstUsedXclRow,
650 sal_uInt16 nFirstFreeXclCol, sal_uInt32 nFirstFreeXclRow );
686 bool IsDefWidth( sal_uInt16 nXclColWidth )
const;
689 void SetDefWidth( sal_uInt16 nXclColWidth,
bool bXLS );
850 bool bUpdateProgress );
935 typedef std::shared_ptr<XclExpRow>
RowRef;
936 typedef ::std::map<sal_uInt32, RowRef>
RowMap;
virtual bool IsVolatile() const =0
Derived classes return true, if the own formula contains volatile functions.
sal_uInt16 GetFirstUsedXclCol() const
Returns the column index of the first used cell in this row.
::std::map< sal_uInt32, RowRef > RowMap
virtual sal_uInt32 GetFirstXFId() const override
Return the XF identifier of the cell.
XclExpCellBase(sal_uInt16 nRecId, std::size_t nContSize, const XclAddress &rXclPos)
void Finalize()
Finalizes all contained TABLEOP records.
XclExpBlankCell(const XclAddress &rXclPos, const XclExpMultiXFId &rXFId)
XclExpColinfoBuffer maColInfoBfr
virtual void SaveXml(XclExpXmlStream &rStrm) override
sal_uInt32 mnColInpXclRow
Column index of column input cell.
bool mbCustomWidth
The XF identifier for column default format.
virtual bool IsEmpty() const override
Returns true, if this record does not contain at least one valid cell.
XclExpShrfmla(const XclTokenArrayRef &xTokArr, const ScAddress &rScPos)
Creates a SHRFMLA record that consists of the passed cell address only.
XclExpStringRec(const XclExpRoot &rRoot, const OUString &rResult)
virtual void WriteContents(XclExpStream &rStrm, sal_uInt16 nRelCol) override
Writes the remaining contents of the specified cell (without XF index).
XclExpNumberCell(const XclExpRoot &rRoot, const XclAddress &rXclPos, const ScPatternAttr *pPattern, sal_uInt32 nForcedXFId, double fValue)
sal_uInt16 mnColWidth
Number of visible column outline levels.
Data about an outline level.
void AppendCell(XclExpCellRef const &xCell, bool bIsMergedBase)
Appends the passed cell object to this row.
bool IsEmpty() const
Returns true, if this row does not contain at least one valid cell.
Base class for buffers containing row or column outline data.
virtual bool IsEmpty() const =0
Derived classes return true, if this record does not contain at least one valid cell.
bool IsAppendable(sal_uInt16 nXclCol, sal_uInt16 nXclRow) const
Returns true, if the passed cell position can be appended to this record.
This class is used to export Excel record streams.
virtual void SaveXml(XclExpXmlStream &rStrm) override
sal_uInt16 GetXclCol() const
Returns the (first) Excel column index of the cell(s).
virtual bool IsMultiLineText() const
Derived classes return whether the cell contains multi-line text.
XclExpArrayBuffer maArrayBfr
Rows and cell records.
void Init(const XclExpRoot &rRoot, const ScPatternAttr *pPattern, XclExpStringRef const &xText)
Initializes the record contents.
XclExpLabelCell(const XclExpRoot &rRoot, const XclAddress &rXclPos, const ScPatternAttr *pPattern, sal_uInt32 nForcedXFId, const OUString &rStr)
Constructs the record from an unformatted Calc string cell.
XclExpDimensions maDimensions
Buffer for row outline groups.
The outline buffer for row outlines.
virtual void Save(XclExpStream &rStrm) override
Writes cell address, XF index, and calls WriteContents() for each cell.
virtual bool IsMultiLineText() const override
Returns true if the cell contains multi-line text.
XclExpBooleanCell(const XclExpRoot &rRoot, const XclAddress &rXclPos, const ScPatternAttr *pPattern, sal_uInt32 nForcedXFId, bool bValue)
const Type & GetValue() const
Returns the value of the record.
Base class for all cell records not supporting multiple contents.
virtual void WriteXmlContents(XclExpXmlStream &rStrm, const XclAddress &rAddress, sal_uInt32 nXFId, sal_uInt16 nRelCol)=0
XclExpRow(const XclExpRoot &rRoot, sal_uInt32 nXclRow, XclExpRowOutlineBuffer &rOutlineBfr, bool bAlwaysEmpty, bool bHidden, sal_uInt16 nHeight)
Constructs the ROW record and converts the Calc row settings.
rtl::Reference< XclExpDval > XclExpDvalRef
virtual sal_uInt16 GetLastXclCol() const override
Returns the column index of the last cell this record describes.
rtl::Reference< XclExpDefrowheight > XclExpDefrowhRef
const XclAddress & GetXclPos() const
Returns the (first) address of the cell(s).
sal_uInt32 mnXclRow
List of cell records for this row.
Represents an RK or MULRK record that describes cells with a compressed double values.
virtual void WriteBody(XclExpStream &rStrm) override
Writes the contents of the record.
void Finalize(ScfUInt16Vec &rXFIndexes, bool bXLS)
Converts the XF identifiers into the Excel XF indexes and merges equal columns.
sal_uInt16 mnRowWidth
Number of visible row outline levels.
const sal_uInt16 EXC_DEFROW_UNSYNCED
Provides export of hyperlink data.
double GetDefColWidth() const
sal_uInt32 mnFirstFreeXclRow
First used row.
Represents the DEFCOLWIDTH record containing the default column width of a sheet. ...
Represents a NOTE record containing the relevant data of a cell note.
void Update(SCROW nScRow)
Updates the current state by processing the settings of the passed Calc row.
virtual void WriteBody(XclExpStream &rStrm) override
Writes cell address, XF index, and calls WriteContents() for each cell.
void SetDefWidth(sal_uInt16 nXclColWidth, bool bXLS)
Sets the passed column width (in 1/256 character width) as default width.
virtual void SaveXml(XclExpXmlStream &rStrm) override
XclExpDimensions(const XclExpRoot &rRoot)
XclExpRecordList< XclExpColinfo > XclExpColinfoList
Contains the column settings for a range of columns.
Represents a BOOLERR record that describes a cell with a Boolean value.
XclExpRecordRef CreateRecord(sal_uInt16 nRecId) const
Returns the reference to an internal record specified by the passed record id.
bool mbEnabled
true = Do not add blank cells in Finalize().
XclExpRowOutlineBuffer maOutlineBfr
sal_uInt8 mnHighestOutlineLevel
Buffer for column outline groups.
void Finalize()
Finalizes the record.
virtual void WriteBody(XclExpStream &rStrm) override
Writes the contents of this COLINFO record.
sal_uInt16 mnFlags
Row height in twips.
void ConvertXFIndexes()
Converts the XF identifier into the Excel XF index.
Represents a BLANK or MULBLANK record that describes empty but formatted cells.
virtual void WriteBody(XclExpStream &rStrm) override
Writes the contents of the DIMENSIONS record.
sal_uInt16 GetColCount() const
Returns the number of columns represented by this record.
std::size_t mnContSize
Record ID for multiple record variant.
sal_uInt16 GetHeight() const
Returns the height of the row in twips.
sal_uInt8 mnOutlineLevel
Default row formatting.
Contains COLINFO records for all columns of a Calc sheet.
sal_uInt32 GetXclRow() const
Returns the Excel row index of the cell.
virtual void WriteContents(XclExpStream &rStrm)=0
Derived classes write the contents of the specified cell (without XF index).
virtual XclTokenArrayRef CreateCellTokenArray(const XclExpRoot &rRoot) const override
Creates and returns the token array for a corresponding FORMULA cell record.
bool TryExtend(const ScAddress &rScPos, const XclMultipleOpRefs &rRefs)
Returns true, if the cell range has been extended to the passed position.
const ScOutlineArray * mpScOLArray
XclExpDefrowhRef mxDefrowheight
Buffer for TABLEOP records.
void SetDimensions(sal_uInt16 nFirstUsedXclCol, sal_uInt32 nFirstUsedXclRow, sal_uInt16 nFirstFreeXclCol, sal_uInt32 nFirstFreeXclRow)
Sets the used area to the record.
const XclExpRoot & mrRoot
sal_uInt8 mnOutlineLevel
Additional column flags.
sal_uInt16 mnLastXclCol
Index to first column.
sal_uInt16 mnFirstUsedXclCol
First unused row after used area.
XclExpArrayBuffer(const XclExpRoot &rRoot)
sal_uInt8 mnUsedCount
The token array of a shared formula.
const sal_uInt8 EXC_OUTLINE_MAX
XclExpRecordList< XclExpTableop > maTableopList
Represents an ARRAY record that contains the token array of a matrix formula.
void WriteRangeAddress(XclExpStream &rStrm) const
Writes the range address covered by this record.
XclExpMultiCellBase(sal_uInt16 nRecId, sal_uInt16 nMulRecId, std::size_t nContSize, const XclAddress &rXclPos)
virtual bool IsVolatile() const override
Returns true, if the array formula contains volatile functions.
sal_uInt32 mnSstIndex
The cell text.
Access to global data from other classes.
bool TryMergeXFIds(const XclExpMultiCellBase &rCell)
Tries to merge the XF ID list of the passed cell with the own list.
sal_uInt16 mnHeight
Default flags for unspecified rows.
XclExpColinfoList::RecordRefType XclExpColinfoRef
sal_Int32 SCCOLROW
a type capable of holding either SCCOL or SCROW
virtual bool TryMerge(const XclExpCellBase &rCell) override
Tries to merge the contents of the passed cell to own data.
Helper to create HLINK records during creation of formatted cell strings.
XclExpTableopRef TryCreate(const ScAddress &rScPos, const XclMultipleOpRefs &rRefs)
Tries to create a new TABLEOP record, if rRefs contains valid references.
void DisableIfDefault(const XclExpDefaultRowData &rDefRowData)
Disables this row, if it is defaultable and has the passed default format.
XclExpSingleCellBase(sal_uInt16 nRecId, std::size_t nContSize, const XclAddress &rXclPos, sal_uInt32 nXFId)
sal_uInt16 GetCellCount() const
Returns the number of cells this record represents.
std::shared_ptr< XclExpRow > RowRef
Represents a SHRFMLA record that contains the token array of a shared formula.
std::vector< XclExpLevelInfo > maLevelInfos
Pointer to Calc outline array.
virtual void ConvertXFIndexes(const XclExpRoot &rRoot) override
Convert all XF identifiers into the Excel XF indexes.
void WriteCellList(XclExpStream &rStrm)
Writes all cell records of this row.
sal_uInt16 mnWidth
True = Column width is different from default width.
virtual sal_uInt16 GetLastXclCol() const =0
Derived classes return the column index of the last contained cell.
XclExpColOutlineBuffer maOutlineBfr
The DEFCOLWIDTH record.
sal_uInt16 GetColWidth() const
Returns the Excel width of the column(s).
XclExtLstRef mxExtLst
Data validation with DVAL and DV records.
XclExpShrfmlaBuffer maShrfmlaBfr
Buffer for ARRAY records.
Represents a DEFROWHEIGHT record containing default format for unused rows.
Base class for all Excel records.
virtual void SaveXml(XclExpXmlStream &rStrm) override
sal_uInt8 mnScMode
Row index of row input cell.
The outline buffer for column outlines.
XclExpHyperlinkRef mxHyperlinkList
MERGEDCELLS record for merged cell ranges.
virtual XclTokenArrayRef CreateCellTokenArray(const XclExpRoot &rRoot) const override
Creates and returns the token array for a corresponding FORMULA cell record.
virtual void ConvertXFIndexes(const XclExpRoot &rRoot) override
Converts the XF identifier into the Excel XF index.
bool IsCollapsed() const
Returns true, if a collapsed group ends at the last processed position.
::std::vector< XclExpMultiXFId > XclExpMultiXFIdDeq
bool IsBasePos(sal_uInt16 nXclCol, sal_uInt32 nXclRow) const
Returns true, if the passed cell position is equal to own base position.
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
void ExtendRange(const ScAddress &rScPos)
Extends the cell range to include the passed cell address.
void GetXFIndexes(ScfUInt16Vec &rXFIndexes) const
Inserts the Excel XF index(es) into the passed vector.
virtual void GetBlankXFIndexes(ScfUInt16Vec &rXFIndexes) const
Derived classes for blank cells insert the Excel XF index(es) into the passed vector.
void SetDefaultData(const XclExpDefaultRowData &rDefData)
Sets the passed default data as current record contents.
sal_uInt32 mnRowInpXclRow
Column index of row input cell.
bool mbLineBreak
Index into Shared String Table (only used for BIFF8).
bool IsDefaultable() const
Returns true, if this row may be omitted by using the DEFROWHEIGHT record.
virtual void WriteXmlContents(XclExpXmlStream &rStrm, const XclAddress &rAddress, sal_uInt32 nXFId, sal_uInt16 nRelCol) override
XclTokenArrayRef mxTokArr
rtl::Reference< XclExpHyperlinkList > XclExpHyperlinkRef
bool IsDefault(const XclExpDefcolwidth &rDefColWidth)
Returns true, if the column has default format and width.
XclExpDimensions & GetDimensions()
XclExpArray(const XclTokenArrayRef &xTokArr, const ScRange &rScRange)
sal_uInt16 mnColInpXclCol
Column index of last appended cell.
sal_uInt16 mnHeight
Excel row index of this row.
bool TryMerge(const XclExpColinfo &rColInfo)
Tries to merge this record with the passed record.
virtual void WriteContents(XclExpStream &rStrm, sal_uInt16 nRelCol) override
Writes the remaining contents of the specified cell (without XF index).
sal_uInt32 GetXFId() const
sal_uInt16 mnFirstFreeXclCol
First used column.
A record with a single value of type Type.
Base class for all cell records supporting multiple contents.
virtual void WriteContents(XclExpStream &rStrm) override
Derived classes write the contents of the specified cell (without XF index).
sal_uInt16 GetFirstFreeXclCol() const
Returns the column index of the first unused cell following all used cells in this row...
XclExpTableopBuffer(const XclExpRoot &rRoot)
XclExpMultiXFIdDeq maXFIds
Data size of contents for one cell.
bool IsUnsynced() const
Returns true, if the rows have a manually set height by default.
This class contains the DV record list following the DVAL record.
Caches all ARRAY records.
bool mbCurrCollapse
Highest level of an open group for current position.
XclExpGuts(const XclExpRoot &rRoot)
sal_uInt16 mnFlags
Calc width of the column.
void UpdateColRow(SCCOLROW nScPos)
Updates the current state by processing the settings at the passed Calc position. ...
virtual void SaveXml(XclExpXmlStream &rStrm) override
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
XclExpMultiXFId(sal_uInt32 nXFId, sal_uInt16 nCount=1)
Number of XF identifiers.
XclExpTableopRef CreateOrExtendTableop(const ScTokenArray &rScTokArr, const ScAddress &rScPos)
Tries to update an existing or to create a new TABLEOP record.
sal_uInt16 mnXFIndex
Flags for the ROW record.
XclExpArrayRef FindArray(const ScTokenArray &rScTokArr, const ScAddress &rBasePos) const
Tries to find an ARRAY record that corresponds to an ocMatRef token.
virtual void WriteBody(XclExpStream &rStrm) override
Writes the contents of the ROW record.
void Initialize(SCROW nLastScRow)
Initializes the buffer: finds settings and formatting of all columns.
rtl::Reference< XclExpCellBase > XclExpCellRef
Represents a STRING record that contains the result of a string formula.
void CreateRows(SCROW nFirstFreeScRow)
Forces insertion of all ROW records before the passed row.
XclExpCellTable(const XclExpRoot &rRoot)
rtl::Reference< XclExpRangeFmlaBase > XclExpRangeFmlaRef
XclExpNoteListRef mxNoteList
GUTS record for outline areas.
Collects all rows which contain all cells of a sheet.
The base class of all cell records.
This class contains the cell contents and more of an entire sheet.
bool IsDefWidth(sal_uInt16 nXclColWidth) const
Returns true, if the own default width exactly matches the passed width.
virtual XclTokenArrayRef CreateCellTokenArray(const XclExpRoot &rRoot) const override
Creates and returns the token array for a corresponding FORMULA cell record.
void Finalize(XclExpDefaultRowData &rDefRowData, const ScfUInt16Vec &rColXFIndexes)
Converts all XF identifiers into the Excel XF indexes and calculates default formats.
Represents a TABLEOP record for a multiple operations range.
virtual void Save(XclExpStream &rStrm) override
Writes the record header and calls WriteBody().
void Finalize(bool bXLS)
Converts all XF identifiers into the Excel XF indexes and calculates default formats.
sal_uInt32 GetXclRow() const
Returns the excel row index of this ROW record.
void RemoveUnusedXFIndexes(const ScfUInt16Vec &rXFIndexes)
Removes unused Excel XF index(es).
virtual void SaveXml(XclExpXmlStream &rStrm) override
sal_uInt16 mnRowInpXclCol
Row index of column input cell.
const sal_uInt16 EXC_ROW_HIDDEN
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
virtual void RemoveUnusedBlankCells(const ScfUInt16Vec &rXFIndexes)
Derived classes for blank cells remove unused Excel XF index(es).
sal_uInt32 mnXclRowRpt
Outline Level of row (for OOXML)
A 2D cell address struct with Excel column and row indexes.
XclExpDefaultRowData()
Default height for unspecified rows.
XclExpRow & GetOrCreateRow(sal_uInt32 nXclRow, bool bRowAlwaysEmpty)
Returns access to the specified ROW record.
Contains all possible default row settings.
const sal_uInt16 EXC_DEFROW_HIDDEN
void AppendXFId(const XclExpMultiXFId &rXFId)
Appends the passed XF identifier nCount times to the list of XF identifiers.
sal_uInt16 GetXFIndex() const
Returns the final Excel XF index of the column(s).
rtl::Reference< XclExpNoteList > XclExpNoteListRef
XclExpColinfoBuffer(const XclExpRoot &rRoot)
virtual bool IsEmpty() const override
Returns true, if this record does not contain at least one valid cell.
sal_uInt8 GetHighestOutlineLevel() const
virtual bool TryMerge(const XclExpCellBase &rCell)
Derived classes try to merge the contents of the passed cell to own data.
sal_uInt8 mnCurrLevel
Info for current row and all levels.
virtual sal_uInt32 GetFirstXFId() const override
Return the XF identifier of the first contained cell.
XclExpTableop(const ScAddress &rScPos, const XclMultipleOpRefs &rRefs, sal_uInt8 nScMode)
bool IsEnabled() const
Returns true, if this row is enabled (will be exported).
Base record for additional range formula records (i.e.
bool IsValidTokenArray(const ScTokenArray &rArray) const
Check for presence of token that's not allowed in Excel's shared formula.
rtl::Reference< XclExpMergedcells > XclExpMergedcellsRef
XclExpRowBuffer(const XclExpRoot &rRoot)
XclExpDefcolwidth maDefcolwidth
List of COLINFO records.
virtual bool IsVolatile() const override
Returns true, if the shared formula contains volatile functions.
XclExpDefaultRowData & GetDefaultData()
virtual void GetBlankXFIndexes(ScfUInt16Vec &rXFIndexes) const override
Inserts the Excel XF index(es) into the passed vector.
std::size_t mnContSize
The XF identifier of the cell formatting.
void SetContSize(std::size_t nContSize)
XclExpDefcolwidth(const XclExpRoot &rRoot)
virtual bool TryMerge(const XclExpCellBase &rCell) override
Tries to merge the contents of the passed cell to own data.
Represents a GUTS record containing the level count of row and column outlines.
XclExpOutlineBuffer(const XclExpRoot &rRoot, bool bRows)
Constructs the outline buffer.
XclAddress maBaseXclPos
Range described by this record.
std::unordered_map< const ScTokenArray *, XclExpShrfmlaRef > TokensType
Represents a ROW record and additionally contains all cells records of a row.
virtual void SaveXml(XclExpXmlStream &rStrm) override
Contains all cell references that can be extracted from a multiple operations formula.
XclExpRecordList< XclExpHyperlink > XclExpHyperlinkList
XclTokenArrayRef mxTokArr
XclExpColinfo(const XclExpRoot &rRoot, SCCOL nScCol, SCROW nLastScRow, XclExpColOutlineBuffer &rOutlineBfr)
Constructs the record with the settings in the Calc document.
XclExpShrfmlaBuffer(const XclExpRoot &rRoot)
virtual void RemoveUnusedBlankCells(const ScfUInt16Vec &rXFIndexes) override
Tries to remove unused Excel XF index(es).
virtual void Save(XclExpStream &rStrm) override
Writes all COLINFO records of this buffer.
void Extend(const ScAddress &rScPos)
Extends the cell range to include the passed cell address.
void AppendCell(XclExpCellRef const &xCell, bool bIsMergedBase)
Appends the passed cell object to the row that the cell specifies.
XclExpArrayRef CreateArray(const ScTokenArray &rScTokArr, const ScRange &rScRange)
Inserts a new ARRAY record into the buffer and returns it.
XclExpColOutlineBuffer(const XclExpRoot &rRoot)
sal_uInt32 GetXclRowRpt() const
XclExpRowOutlineBuffer(const XclExpRoot &rRoot)
::std::map< ScAddress, XclExpArrayRef > XclExpArrayMap
XclExpShrfmlaRef CreateOrExtendShrfmla(const ScFormulaCell &rScCell, const ScAddress &rScPos)
Tries to create a new or to update an existing SHRFMLA record.
virtual void SaveXml(XclExpXmlStream &rStrm) override
XclExpRangeFmlaBase(sal_uInt16 nRecId, sal_uInt32 nRecSize, const ScAddress &rScPos)
Constructs the record with a single cell.
XclExpDefaultRowData maDefData
std::size_t GetContSize() const
virtual void SaveXml(XclExpXmlStream &rStrm) override
Caches all SHRFMLA records and provides functions to update their ranges.
Represents a NUMBER record that describes a cell with a double value.
void Update(SCCOL nScCol)
Updates the current state by processing the settings of the passed Calc column.
A combination of unique XF identifier with real Excel XF index.
rtl::Reference< XclExpTableop > XclExpTableopRef
virtual void Save(XclExpStream &rStrm) override
Saves the entire cell table.
Represents a MERGEDCELLS record containing all merged cell ranges in a sheet.
virtual sal_uInt32 GetFirstXFId() const =0
Derived classes return the XF identifier of the first contained cell.
virtual void WriteContents(XclExpStream &rStrm, sal_uInt16 nRelCol)=0
Derived classes write the remaining contents of the specified cell (without XF index).
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
void InsertCell(XclExpCellRef xCell, size_t nPos, bool bIsMergedBase)
Inserts a cell at the specified list position, tries to merge with neighbors.
Contains all created TABLEOP records and supports creating or updating them.
sal_uInt16 mnXFIndex
Temporary XF identifier.
void SetXclCol(sal_uInt16 nXclCol)
Sets this record to a new column position.
o3tl::sorted_vector< const ScTokenArray * > BadTokenArraysType
virtual void SaveXml(XclExpXmlStream &rStrm) override
XclExpRecordList< XclExpCellBase > maCellList
virtual bool IsVolatile() const override
Returns true, if the multiple operations range is volatile.
bool mbHidden
The end position of a group in a level.
virtual XclTokenArrayRef CreateCellTokenArray(const XclExpRoot &rRoot) const =0
Derived classes create the token array for a corresponding FORMULA cell record.
virtual void WriteXmlContents(XclExpXmlStream &rStrm, const XclAddress &rAddress, sal_uInt32 nXFId, sal_uInt16 nRelCol) override
bool mbValid
Type of the multiple operation (Calc constant).
sal_uInt16 mnRowLevels
Width of column outline area (pixels).
bool IsHidden() const
Returns true, if rows are hidden by default.
void SetXFId(sal_uInt32 nXFId)
rtl::Reference< XclExtLst > XclExtLstRef
const sal_uInt16 EXC_ROW_UNSYNCED
virtual void WriteContents(XclExpStream &rStrm) override
Derived classes write the contents of the specified cell (without XF index).
sal_uInt8 mnHighestOutlineLevel
DIMENSIONS record for used area.
Represents a DIMENSIONS record containing the used area of a sheet.
XclExpRowBuffer maRowBfr
Buffer for column formatting.
std::shared_ptr< XclExpString > XclExpStringRef
XclExpColinfoList maColInfos
void Finalize(const ScfUInt16Vec &rColXFIndexes, bool bUpdateProgress)
Converts all XF identifiers into the Excel XF indexes.
bool IsHidden() const
Returns true, if this row is hidden.
XclExpRecordRef mxGuts
DEFROWHEIGHT record for default row format.
virtual void Save(XclExpStream &rStrm) override
Writes the record, calls WriteContents() for each contained cell.
virtual void WriteBody(XclExpStream &rStrm) override
Writes the contents of the TABLEOP record.
BadTokenArraysType maBadTokens
Map containing the SHRFMLA records.
sal_uInt16 mnScWidth
Excel width of the column.
sal_uInt16 mnLastAppXclCol
sal_uInt8 GetLevel() const
Returns the highest level of an open group at the last processed position.
virtual void ConvertXFIndexes(const XclExpRoot &rRoot)=0
Derived classes convert the XF identifier(s) into the Excel XF index(es).
virtual void WriteContents(XclExpStream &rStrm) override
Derived classes write the contents of the specified cell (without XF index).
XclExpTableopBuffer maTableopBfr
Buffer for SHRFMLA records.
rtl::Reference< XclExpArray > XclExpArrayRef
Represents a text cell record.
sal_uInt16 mnFirstXclCol
Outline Level of column (for OOXML)
sal_uInt8 GetHighestOutlineLevel() const
void SetXclRowRpt(sal_uInt32 nRpt)
virtual void Save(XclExpStream &rStrm) override
Writes the DIMENSIONS record, all ROW records and all cell records.
virtual sal_uInt16 GetLastXclCol() const override
Returns the last column, which is equal to the first column for single cells.
bool IsUnsynced() const
Returns true, if this row contains a manually set height.
XclExpRecordList< XclExpNote > XclExpNoteList
A 2D cell range address struct with Excel column and row indexes.
sal_uInt32 mnFirstUsedXclRow
XclExpRkCell(const XclExpRoot &rRoot, const XclAddress &rXclPos, const ScPatternAttr *pPattern, sal_uInt32 nForcedXFId, sal_Int32 nRkValue)
virtual void Save(XclExpStream &rStrm) override
Writes the record if it is valid.
Base class for single records with any content.
XclExpMergedcellsRef mxMergedcells
List of NOTE records.
rtl::Reference< XclExpShrfmla > XclExpShrfmlaRef
XclExpLevelInfo()
true = Group in this level is hidden.
virtual void Save(XclExpStream &rStrm) override
Writes the ROW record if the row is not disabled (see DisableIfDefault() function).
XclExpDvalRef mxDval
List of HLINK records.