24#include <oox/token/tokens.hxx>
26#include <osl/diagnose.h>
62 : mnElement( nElement )
102 sal_Int32
const nElement)
114 rStream->write(
"<" )->writeId(
mnElement );
127 rStrm.GetCurrentStream()->write(
"/>" );
131 mnRecSize( nRecSize ),
161 if( mnAttribute == -1 )
163 rStrm.WriteAttributes(mnAttribute, OUString::number(
maValue));
168 rStrm << static_cast< sal_uInt16 >(
mbValue ? 1 : 0 );
176 rStrm.WriteAttributes(
202 meRecType( eRecType )
211 rStrm.WriteZeroBytes( 8 );
217 mnSubStrmType( nSubStrmType )
224 switch(
rStrm.GetRoot().GetBiff() )
249 rStrm << sal_uInt32( 1 ) << sal_uInt32( 6 );
sal_Int32 mnAttribute
The record data.
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record.
virtual void SaveXml(XclExpXmlStream &rStrm) override
XclExpRecordBase * mpRecord
virtual ~XclExpDelegatingRecord() override
XclExpDelegatingRecord(XclExpRecordBase *pRecord)
virtual void SaveXml(XclExpXmlStream &rStrm) override
void SetData(const void *pRecData, std::size_t nRecSize)
Sets a data array.
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record.
XclExpDummyRecord(sal_uInt16 nRecId, const void *pRecData, std::size_t nRecSize)
XclExpFutureRecord(XclFutureRecType eRecType, sal_uInt16 nRecId, std::size_t nRecSize)
XclFutureRecType meRecType
virtual void Save(XclExpStream &rStrm) override
Writes the extended record header and calls WriteBody().
Base class for all Excel records.
virtual void SaveXml(XclExpXmlStream &rStrm)
virtual ~XclExpRecordBase()
virtual void Save(XclExpStream &rStrm)
Overwrite this method to do any operation while saving the record.
virtual void Save(XclExpStream &rStrm) override
Writes the complete record list.
Base class for single records with any content.
virtual void Save(XclExpStream &rStrm) override
Writes the record header and calls WriteBody().
XclExpRecord(sal_uInt16 nRecId=EXC_ID_UNKNOWN, std::size_t nRecSize=0)
sal_uInt16 GetRecId() const
Returns the current record ID.
sal_uInt16 mnRecId
The predicted record size.
void SetRecHeader(sal_uInt16 nRecId, std::size_t nRecSize)
Sets record ID and size with one call.
virtual void WriteBody(XclExpStream &rStrm)
Writes the body of the record (without record header).
void SetRecSize(std::size_t nRecSize)
Sets a new record size prediction.
void SetRecId(sal_uInt16 nRecId)
Sets a new record ID.
virtual ~XclExpRecord() override
std::size_t GetRecSize() const
Returns the current record size prediction.
This class is used to export Excel record streams.
XclExpSubStream(sal_uInt16 nSubStrmType)
virtual void Save(XclExpStream &rStrm) override
Writes the complete substream, including leading BOF and trailing EOF.
void SaveXml(XclExpXmlStream &rStrm) override
Write the OOXML attribute and its value.
virtual ~XclExpXmlElementRecord() override
XclExpXmlElementRecord(sal_Int32 nElement)
XclExpXmlEndElementRecord(sal_Int32 nElement)
virtual ~XclExpXmlEndElementRecord() override
virtual void SaveXml(XclExpXmlStream &rStrm) override
Ends the element nElement.
virtual ~XclExpXmlEndSingleElementRecord() override
XclExpXmlEndSingleElementRecord()
virtual void SaveXml(XclExpXmlStream &rStrm) override
Ends the single element nElement.
virtual void SaveXml(XclExpXmlStream &rStrm) override
Starts the element nElement.
XclExpXmlStartElementRecord(sal_Int32 nElement)
virtual ~XclExpXmlStartElementRecord() override
XclExpXmlStartSingleElementRecord(sal_Int32 nElement)
virtual void SaveXml(XclExpXmlStream &rStrm) override
Starts the single element nElement.
virtual ~XclExpXmlStartSingleElementRecord() override
std::shared_ptr< FastSerializerHelper > FSHelperPtr
XclFutureRecType
Enumerates different header types of future records.
@ EXC_FUTUREREC_UNUSEDREF
Record identifier and empty flags field.
const sal_uInt16 EXC_ID2_BOF
Text rotation: vertically stacked.
const sal_uInt16 EXC_BOF_BIFF8
const sal_uInt16 EXC_ID4_BOF
@ EXC_BIFF8
MS Excel 5.0, MS Excel 7.0 (95)
const sal_uInt16 EXC_BOF_BIFF5
const sal_uInt16 EXC_ID5_BOF
const sal_uInt16 EXC_ID3_BOF
const sal_uInt16 EXC_ID_EOF
Internal use only.
const sal_uInt16 EXC_ID_UNKNOWN