24 #include <oox/token/tokens.hxx>
26 #include <osl/diagnose.h>
28 using namespace ::
oox;
62 : mnElement( nElement )
102 sal_Int32
const nElement)
114 rStream->write(
"<" )->writeId(
mnElement );
131 mnRecSize( nRecSize ),
161 if( mnAttribute == -1 )
168 rStrm << static_cast< sal_uInt16 >(
mbValue ? 1 : 0 );
202 meRecType( eRecType )
209 rStrm <<
GetRecId() << sal_uInt16( 0 );
217 mnSubStrmType( nSubStrmType )
233 rStrm << sal_uInt16( 0 ) << mnSubStrmType << sal_uInt16( 2104 );
238 rStrm << sal_uInt16( 0 ) << mnSubStrmType << sal_uInt16( 1705 );
243 rStrm <<
EXC_BOF_BIFF5 << mnSubStrmType << sal_uInt16( 4915 ) << sal_uInt16( 1994 );
248 rStrm <<
EXC_BOF_BIFF8 << mnSubStrmType << sal_uInt16( 3612 ) << sal_uInt16( 1996 );
249 rStrm << sal_uInt32( 1 ) << sal_uInt32( 6 );
XclExpDummyRecord(sal_uInt16 nRecId, const void *pRecData, std::size_t nRecSize)
void WriteAttributes(sal_Int32 nAttribute, Str &&value, Args &&...rest)
virtual void Save(XclExpStream &rStrm) override
Writes the complete substream, including leading BOF and trailing EOF.
virtual void Save(XclExpStream &rStrm) override
Writes the complete record list.
std::size_t Write(const void *pData, std::size_t nBytes)
Writes nBytes bytes from memory.
virtual ~XclExpXmlElementRecord() override
XclExpXmlStartElementRecord(sal_Int32 nElement)
sal_Int32 mnAttribute
The record data.
This class is used to export Excel record streams.
void SetData(const void *pRecData, std::size_t nRecSize)
Sets a data array.
Record identifier and empty flags field.
XclExpFutureRecord(XclFutureRecType eRecType, sal_uInt16 nRecId, std::size_t nRecSize)
void SetRecSize(std::size_t nRecSize)
Sets a new record size prediction.
virtual ~XclExpXmlEndSingleElementRecord() override
std::size_t GetRecSize() const
Returns the current record size prediction.
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record.
const sal_uInt16 EXC_ID5_BOF
const sal_uInt16 EXC_BOF_BIFF5
XclFutureRecType
Enumerates different header types of future records.
sal_uInt16 GetRecId() const
Returns the current record ID.
XclExpSubStream(sal_uInt16 nSubStrmType)
Base class for all Excel records.
sax_fastparser::FSHelperPtr & GetCurrentStream()
virtual void Save(XclExpStream &rStrm)
Overwrite this method to do any operation while saving the record.
XclExpXmlEndSingleElementRecord()
MS Excel 5.0, MS Excel 7.0 (95)
const sal_uInt16 EXC_ID4_BOF
XclExpXmlElementRecord(sal_Int32 nElement)
const sal_uInt16 EXC_ID_UNKNOWN
virtual void SaveXml(XclExpXmlStream &rStrm) override
Ends the element nElement.
void EndRecord()
Checks and corrects real record length.
XclExpRecordBase * mpRecord
virtual ~XclExpRecordBase()
virtual void SaveXml(XclExpXmlStream &rStrm) override
sal_uInt16 mnRecId
The predicted record size.
std::shared_ptr< FastSerializerHelper > FSHelperPtr
virtual ~XclExpXmlStartSingleElementRecord() override
XclFutureRecType meRecType
virtual void SaveXml(XclExpXmlStream &rStrm) override
Ends the single element nElement.
virtual void WriteBody(XclExpStream &rStrm)
Writes the body of the record (without record header).
void SetRecHeader(sal_uInt16 nRecId, std::size_t nRecSize)
Sets record ID and size with one call.
XclExpRecord(sal_uInt16 nRecId=EXC_ID_UNKNOWN, std::size_t nRecSize=0)
XclExpDelegatingRecord(XclExpRecordBase *pRecord)
void SaveXml(XclExpXmlStream &rStrm) override
Write the OOXML attribute and its value.
XclBiff GetBiff() const
Returns the current BIFF version of the importer/exporter.
const sal_uInt16 EXC_BOF_BIFF8
virtual ~XclExpXmlEndElementRecord() override
void StartRecord(sal_uInt16 nRecId, std::size_t nRecSize)
Starts a new record: writes header data, stores calculated record size.
virtual void Save(XclExpStream &rStrm) override
Writes the extended record header and calls WriteBody().
const sal_uInt16 EXC_ID3_BOF
virtual ~XclExpXmlStartElementRecord() override
virtual ~XclExpDelegatingRecord() override
const XclExpRoot & GetRoot() const
Returns the filter root data.
XclExpXmlEndElementRecord(sal_Int32 nElement)
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record.
virtual void SaveXml(XclExpXmlStream &rStrm) override
virtual void Save(XclExpStream &rStrm) override
Writes the record header and calls WriteBody().
XclExpXmlStartSingleElementRecord(sal_Int32 nElement)
void SetRecId(sal_uInt16 nRecId)
Sets a new record ID.
virtual void SaveXml(XclExpXmlStream &rStrm) override
Starts the single element nElement.
const sal_uInt16 EXC_ID2_BOF
Text rotation: vertically stacked.
virtual void SaveXml(XclExpXmlStream &rStrm)
Base class for single records with any content.
virtual void SaveXml(XclExpXmlStream &rStrm) override
Starts the element nElement.
void WriteZeroBytes(std::size_t nBytes)
Writes a sequence of nBytes zero bytes (respects slice setting).
virtual ~XclExpRecord() override
const sal_uInt16 EXC_ID_EOF
Internal use only.