LibreOffice Module sc (master)  1
xecontent.hxx
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3  * This file is part of the LibreOffice project.
4  *
5  * This Source Code Form is subject to the terms of the Mozilla Public
6  * License, v. 2.0. If a copy of the MPL was not distributed with this
7  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8  *
9  * This file incorporates work covered by the following license notice:
10  *
11  * Licensed to the Apache Software Foundation (ASF) under one or more
12  * contributor license agreements. See the NOTICE file distributed
13  * with this work for additional information regarding copyright
14  * ownership. The ASF licenses this file to you under the Apache
15  * License, Version 2.0 (the "License"); you may not use this file
16  * except in compliance with the License. You may obtain a copy of
17  * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18  */
19 
20 #pragma once
21 
22 #include <memory>
23 #include <rangelst.hxx>
24 #include "xladdress.hxx"
25 #include "xerecord.hxx"
26 #include "xeroot.hxx"
27 #include "xestring.hxx"
28 #include "xeextlst.hxx"
29 #include "xlformula.hxx"
30 
31 #include <colorscale.hxx>
32 
33 /* ============================================================================
34 Classes to export the big Excel document contents (related to several cells or
35 globals for the sheet or document).
36 - Shared string table
37 - Merged cells
38 - Hyperlinks
39 - Label ranges
40 - Conditional formatting
41 - Data validation
42 - Web Queries
43 ============================================================================ */
44 
45 // Shared string table ========================================================
46 
47 class XclExpSstImpl;
48 
52 {
53 public:
54  explicit XclExpSst();
55  virtual ~XclExpSst() override;
56 
59  sal_uInt32 Insert( const XclExpStringRef& xString );
60 
62  virtual void Save( XclExpStream& rStrm ) override;
63  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
64 
65 private:
66  typedef std::unique_ptr< XclExpSstImpl > XclExpSstImplPtr;
67  XclExpSstImplPtr mxImpl;
68 };
69 
70 // Merged cells ===============================================================
71 
74 {
75 public:
76  explicit XclExpMergedcells( const XclExpRoot& rRoot );
77 
79  void AppendRange( const ScRange& rRange, sal_uInt32 nBaseXFId );
81  sal_uInt32 GetBaseXFId( const ScAddress& rPos ) const;
82 
84  virtual void Save( XclExpStream& rStrm ) override;
85  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
86 
87 private:
90 };
91 
92 // Hyperlinks =================================================================
93 
94 class SvxURLField;
95 
98 {
99 public:
101  explicit XclExpHyperlink( const XclExpRoot& rRoot,
102  const SvxURLField& rUrlField, const ScAddress& rScPos );
103  virtual ~XclExpHyperlink() override;
104 
106  const OUString* GetRepr() const { return m_Repr.isEmpty() ? nullptr : &m_Repr; }
107 
108  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
109 
110  void WriteEmbeddedData( XclExpStream& rStrm );
111 
116  static OUString BuildFileName(
117  sal_uInt16& rnLevel, bool& rbRel,
118  const OUString& rUrl, const XclExpRoot& rRoot, bool bEncoded );
119 private:
120 
122  virtual void WriteBody( XclExpStream& rStrm ) override;
123 
124 private:
125  typedef std::unique_ptr< SvStream > SvStreamPtr;
126 
128  OUString m_Repr;
129  SvStreamPtr mxVarData;
130  sal_uInt32 mnFlags;
132  OUString msTarget;
133 };
134 
136 
137 // Label ranges ===============================================================
138 
141 {
142 public:
144  explicit XclExpLabelranges( const XclExpRoot& rRoot );
145 
147  virtual void Save( XclExpStream& rStrm ) override;
148 
149 private:
154  static void FillRangeList( ScRangeList& rScRanges,
155  const ScRangePairListRef& xLabelRangesRef, SCTAB nScTab );
156 
157 private:
160 };
161 
162 // Conditional formatting =====================================================
163 
164 class XclExpCFImpl;
165 
167 class XclExpCF : public XclExpRecord, protected XclExpRoot
168 {
169 public:
170  explicit XclExpCF( const XclExpRoot& rRoot, const ScCondFormatEntry& rFormatEntry, sal_Int32 nPriority, ScAddress aOrigin );
171  virtual ~XclExpCF() override;
172 
173  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
174 
175 private:
177  virtual void WriteBody( XclExpStream& rStrm ) override;
178 
179 private:
180  typedef std::unique_ptr< XclExpCFImpl > XclExpCFImplPtr;
181  XclExpCFImplPtr mxImpl;
182 };
183 
184 class XclExpDateFormat : public XclExpRecord, protected XclExpRoot
185 {
186 public:
187  explicit XclExpDateFormat( const XclExpRoot& rRoot, const ScCondDateFormatEntry& rFormatEntry, sal_Int32 nPriority );
188  virtual ~XclExpDateFormat() override;
189 
190  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
191 
192 private:
194  sal_Int32 mnPriority;
195 };
196 
197 class XclExpCfvo : public XclExpRecord, protected XclExpRoot
198 {
199 public:
200  explicit XclExpCfvo( const XclExpRoot& rRoot, const ScColorScaleEntry& rFormatEntry, const ScAddress& rPos, bool bFirst = true);
201 
202  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
203 private:
206  bool mbFirst;
207 };
208 
209 class XclExpColScaleCol : public XclExpRecord, protected XclExpRoot
210 {
211 public:
212  explicit XclExpColScaleCol( const XclExpRoot& rRoot, const Color& rColor);
213  virtual ~XclExpColScaleCol() override;
214 
215  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
216 private:
217  const Color& mrColor;
218 };
219 
222 class XclExpCondfmt : public XclExpRecord, protected XclExpRoot
223 {
224 public:
225  explicit XclExpCondfmt( const XclExpRoot& rRoot, const ScConditionalFormat& rCondFormat, const XclExtLstRef& xExtLst, sal_Int32& rIndex );
226  virtual ~XclExpCondfmt() override;
227 
229  bool IsValidForBinary() const;
230  bool IsValidForXml() const;
231 
233  virtual void Save( XclExpStream& rStrm ) override;
234  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
235 
236 private:
238  virtual void WriteBody( XclExpStream& rStrm ) override;
239 
240 private:
244  OUString msSeqRef;
245 };
246 
247 class XclExpColorScale: public XclExpRecord, protected XclExpRoot
248 {
249 public:
250  explicit XclExpColorScale( const XclExpRoot& rRoot, const ScColorScaleFormat& rFormat, sal_Int32 nPriority );
251 
252  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
253 private:
256 
257  XclExpCfvoList maCfvoList;
258  XclExpColScaleColList maColList;
259  sal_Int32 mnPriority;
260 };
261 
262 class XclExpDataBar : public XclExpRecord, protected XclExpRoot
263 {
264 public:
265  explicit XclExpDataBar( const XclExpRoot& rRoot, const ScDataBarFormat& rFormat, sal_Int32 nPriority, const OString& rGUID);
266 
267  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
268 private:
269  std::unique_ptr<XclExpCfvo> mpCfvoLowerLimit;
270  std::unique_ptr<XclExpCfvo> mpCfvoUpperLimit;
271  std::unique_ptr<XclExpColScaleCol> mpCol;
272 
274  sal_Int32 mnPriority;
275  OString maGUID;
276 };
277 
278 class XclExpIconSet : public XclExpRecord, protected XclExpRoot
279 {
280 public:
281  explicit XclExpIconSet( const XclExpRoot& rRoot, const ScIconSetFormat& rFormat, sal_Int32 nPriority );
282 
283  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
284 private:
286 
287  XclExpCfvoList maCfvoList;
289  sal_Int32 mnPriority;
290 };
291 
294 {
295 public:
297  explicit XclExpCondFormatBuffer( const XclExpRoot& rRoot, const XclExtLstRef& xExtLst );
298 
300  virtual void Save( XclExpStream& rStrm ) override;
301  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
302 
303 private:
305  XclExpCondfmtList maCondfmtList;
306 };
307 
308 // Data Validation ============================================================
309 
314 class XclExpDV : public XclExpRecord, protected XclExpRoot
315 {
316 public:
317  explicit XclExpDV( const XclExpRoot& rRoot, sal_uLong nScHandle );
318  virtual ~XclExpDV() override;
319 
321  sal_uLong GetScHandle() const { return mnScHandle; }
322 
324  void InsertCellRange( const ScRange& rPos );
327  bool Finalize();
328 
329  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
330 
331 private:
333  virtual void WriteBody( XclExpStream& rStrm ) override;
334 
335 private:
344  OUString msFormula1;
345  OUString msList;
347  OUString msFormula2;
348  sal_uInt32 mnFlags;
350 };
351 
353 class XclExpDval : public XclExpRecord, protected XclExpRoot
354 {
355 public:
356  explicit XclExpDval( const XclExpRoot& rRoot );
357  virtual ~XclExpDval() override;
358 
360  void InsertCellRange( const ScRange& rRange, sal_uLong nScHandle );
361 
363  virtual void Save( XclExpStream& rStrm ) override;
364  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
365 
366 private:
368  XclExpDV& SearchOrCreateDv( sal_uLong nScHandle );
369 
371  virtual void WriteBody( XclExpStream& rStrm ) override;
372 
373 private:
376 
377  XclExpDVList maDVList;
378  XclExpDVRef mxLastFoundDV;
379 };
380 
381 // Web Queries ================================================================
382 
388 {
389 public:
391  explicit XclExpWebQuery(
392  const OUString& rRangeName,
393  const OUString& rUrl,
394  const OUString& rSource,
395  sal_Int32 nRefrSecs );
396  virtual ~XclExpWebQuery() override;
397 
399  virtual void Save( XclExpStream& rStrm ) override;
400 
401 private:
405  sal_Int16 mnRefresh;
406  bool mbEntireDoc;
407 };
408 
410 class XclExpWebQueryBuffer : public XclExpRecordList< XclExpWebQuery >
411 {
412 public:
413  explicit XclExpWebQueryBuffer( const XclExpRoot& rRoot );
414 };
415 
416 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
This class stores an unformatted or formatted string for Excel export.
Definition: xestring.hxx:47
XclExpCfvoList maCfvoList
Definition: xecontent.hxx:287
bool mbFirst
Definition: xecontent.hxx:206
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xecontent.cxx:1875
XclExpDVList::RecordRefType XclExpDVRef
Definition: xecontent.hxx:375
XclExpWebQuery(const OUString &rRangeName, const OUString &rUrl, const OUString &rSource, sal_Int32 nRefrSecs)
Constructs a web query record container with settings from Calc.
Definition: xecontent.cxx:2028
sal_Int16 mnRefresh
List of source range names.
Definition: xecontent.hxx:405
XclExpRecordList< XclExpRecord > maCFList
Definition: xecontent.hxx:242
XclExpCFImplPtr mxImpl
Definition: xecontent.hxx:181
XclExpRecordList< XclExpCondfmt > XclExpCondfmtList
Definition: xecontent.hxx:304
A list of Excel record objects.
Definition: xerecord.hxx:320
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the DV record.
Definition: xecontent.cxx:1861
XclExpDV(const XclExpRoot &rRoot, sal_uLong nScHandle)
Definition: xecontent.cxx:1670
XclExpStringRef mxQryTables
Source document URL.
Definition: xecontent.hxx:404
This class is used to export Excel record streams.
Definition: xestream.hxx:72
const ScCondDateFormatEntry & mrFormatEntry
Definition: xecontent.hxx:193
virtual ~XclExpColScaleCol() override
Definition: xecontent.cxx:1245
Provides export of the row/column label range list of a sheet.
Definition: xecontent.hxx:140
XclExpDVRef mxLastFoundDV
List of DV records.
Definition: xecontent.hxx:378
sal_uIntPtr sal_uLong
XclExpCondFormatBuffer(const XclExpRoot &rRoot, const XclExtLstRef &xExtLst)
Constructs CONDFMT and CF records containing the conditional formats of the current sheet...
Definition: xecontent.cxx:1559
const Color & mrColor
Definition: xecontent.hxx:217
XclExpString maUrl
Destination range.
Definition: xecontent.hxx:403
Contains all web query records for this document.
Definition: xecontent.hxx:410
bool mbEntireDoc
Refresh time in minutes.
Definition: xecontent.hxx:406
XclExpString maDestRange
Definition: xecontent.hxx:402
bool IsValidForBinary() const
Returns true, if this conditional format contains at least one cell range and CF record.
Definition: xecontent.cxx:1385
Represents a CF record that contains one condition of a conditional format.
Definition: xecontent.cxx:591
const ScColorScaleEntry & mrEntry
Definition: xecontent.hxx:204
ScRangeList maScRanges
Definition: xecontent.hxx:336
std::unique_ptr< XclExpSstImpl > XclExpSstImplPtr
Definition: xecontent.hxx:66
sal_uLong mnScHandle
Miscellaneous flags.
Definition: xecontent.hxx:349
XclExpCondfmtList maCondfmtList
Definition: xecontent.hxx:305
sal_uLong GetScHandle() const
Returns the core handle of the validation data.
Definition: xecontent.hxx:321
virtual ~XclExpDval() override
Definition: xecontent.cxx:1931
sal_Int32 mnPriority
Definition: xecontent.hxx:259
XclExpStringRef mxString1
The error text.
Definition: xecontent.hxx:342
XclExpString maErrorTitle
The prompt text.
Definition: xecontent.hxx:340
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xecontent.cxx:254
void InsertCellRange(const ScRange &rRange, sal_uLong nScHandle)
Inserts the cell range into the range list of the DV record with the specified handle.
Definition: xecontent.cxx:1935
Access to global data from other classes.
Definition: xeroot.hxx:112
XclExpRecordList< XclExpDV > XclExpDVList
Definition: xecontent.hxx:374
XclExpColScaleCol(const XclExpRoot &rRoot, const Color &rColor)
Definition: xecontent.cxx:1239
OUString msFormula2
Formula for second condition.
Definition: xecontent.hxx:347
Base class for all Excel records.
Definition: xerecord.hxx:37
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xecontent.cxx:1216
ScRangeList maRowRanges
Definition: xecontent.hxx:158
XclExpDataBar(const XclExpRoot &rRoot, const ScDataBarFormat &rFormat, sal_Int32 nPriority, const OString &rGUID)
Definition: xecontent.cxx:1471
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xecontent.cxx:1111
XclExpCfvo(const XclExpRoot &rRoot, const ScColorScaleEntry &rFormatEntry, const ScAddress &rPos, bool bFirst=true)
Definition: xecontent.cxx:1178
XclExpIconSet(const XclExpRoot &rRoot, const ScIconSetFormat &rFormat, sal_Int32 nPriority)
Definition: xecontent.cxx:1523
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xecontent.cxx:1249
sal_uInt32 mnFlags
OOXML Formula for second condition.
Definition: xecontent.hxx:348
virtual ~XclExpSst() override
Definition: xecontent.cxx:240
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the DVAL record.
Definition: xecontent.cxx:2020
sal_Int32 mnPriority
Definition: xecontent.hxx:274
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xecontent.cxx:1579
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xecontent.cxx:1420
XclExpCfvoList maCfvoList
Definition: xecontent.hxx:257
bool IsValidForXml() const
Definition: xecontent.cxx:1395
Represents a CONDFMT record that contains all conditions of a conditional format. ...
Definition: xecontent.hxx:222
OUString msFormula1
Formula for first condition.
Definition: xecontent.hxx:344
virtual void Save(XclExpStream &rStrm) override
Writes the CONDFMT record with following CF records, if there is valid data.
Definition: xecontent.cxx:1400
XclExpDV & SearchOrCreateDv(sal_uLong nScHandle)
Searches for or creates a XclExpDV record object with the specified handle.
Definition: xecontent.cxx:1980
This class contains the DV record list following the DVAL record.
Definition: xecontent.hxx:353
OString maGUID
Definition: xecontent.hxx:275
Contains all records for a web query (linked tables in an HTML document).
Definition: xecontent.hxx:387
std::unique_ptr< XclExpColScaleCol > mpCol
Definition: xecontent.hxx:271
ScRangeList maColRanges
Cell range list for row labels.
Definition: xecontent.hxx:159
A 2D cell range address list with Excel column and row indexes.
Definition: xladdress.hxx:100
virtual ~XclExpDateFormat() override
Definition: xecontent.cxx:1124
virtual ~XclExpCF() override
Definition: xecontent.cxx:1102
XclExpWebQueryBuffer(const XclExpRoot &rRoot)
Definition: xecontent.cxx:2137
std::unique_ptr< XclExpCFImpl > XclExpCFImplPtr
Definition: xecontent.hxx:180
virtual void Save(XclExpStream &rStrm) override
Writes all needed records for this web query.
Definition: xecontent.cxx:2070
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xecontent.cxx:1539
virtual ~XclExpDV() override
Definition: xecontent.cxx:1846
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xecontent.cxx:1162
std::shared_ptr< XclTokenArray > XclTokenArrayRef
Definition: xlformula.hxx:416
static void FillRangeList(ScRangeList &rScRanges, const ScRangePairListRef &xLabelRangesRef, SCTAB nScTab)
Fills the specified range list with all label headers of the current sheet.
Definition: xecontent.cxx:562
Contains all conditional formats of a specific sheet.
Definition: xecontent.hxx:293
XclExpColScaleColList maColList
Definition: xecontent.hxx:258
const ScIconSetFormat & mrFormat
Definition: xecontent.hxx:288
XclExpString maErrorText
The error title.
Definition: xecontent.hxx:341
virtual void Save(XclExpStream &rStrm) override
Writes all contained CONDFMT records with their CF records.
Definition: xecontent.cxx:1574
virtual void Save(XclExpStream &rStrm) override
Writes the record, if it contains at least one merged cell range.
Definition: xecontent.cxx:289
XclExpDateFormat(const XclExpRoot &rRoot, const ScCondDateFormatEntry &rFormatEntry, sal_Int32 nPriority)
Definition: xecontent.cxx:1116
::std::vector< sal_uInt32 > ScfUInt32Vec
Definition: ftools.hxx:257
void InsertCellRange(const ScRange &rPos)
Inserts a new cell range into the cell range list.
Definition: xecontent.cxx:1850
sal_Int32 mnPriority
Definition: xecontent.hxx:289
OUString msSeqRef
Cell ranges for this conditional format.
Definition: xecontent.hxx:244
XclExpRecordList< XclExpCfvo > XclExpCfvoList
Definition: xecontent.hxx:285
XclRangeList maXclRanges
Calc range list with all affected cells.
Definition: xecontent.hxx:337
virtual ~XclExpCondfmt() override
Definition: xecontent.cxx:1381
void AppendRange(const ScRange &rRange, sal_uInt32 nBaseXFId)
Appends a new range to the list of merged cell ranges.
Definition: xecontent.cxx:266
XclExpColorScale(const XclExpRoot &rRoot, const ScColorScaleFormat &rFormat, sal_Int32 nPriority)
Definition: xecontent.cxx:1436
XclExpRecordList< XclExpColScaleCol > XclExpColScaleColList
Definition: xecontent.hxx:255
virtual ~XclExpWebQuery() override
Definition: xecontent.cxx:2066
XclRangeList maXclRanges
List of CF records.
Definition: xecontent.hxx:243
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xecontent.cxx:1488
ScRangeList maMergedRanges
Definition: xecontent.hxx:88
Represents a CF record that contains one condition of a conditional format.
Definition: xecontent.hxx:167
Represents a MERGEDCELLS record containing all merged cell ranges in a sheet.
Definition: xecontent.hxx:73
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xecontent.cxx:1453
virtual void Save(XclExpStream &rStrm) override
Writes the LABELRANGES record if it contains at least one range.
Definition: xecontent.cxx:574
XclExpCondfmt(const XclExpRoot &rRoot, const ScConditionalFormat &rCondFormat, const XclExtLstRef &xExtLst, sal_Int32 &rIndex)
Definition: xecontent.cxx:1292
XclExpRecordList< XclExpCfvo > XclExpCfvoList
Definition: xecontent.hxx:254
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the CF record.
Definition: xecontent.cxx:1106
XclTokenArrayRef mxTokArr1
String for first condition formula.
Definition: xecontent.hxx:343
ScfUInt32Vec maBaseXFIds
All merged cell ranges of the sheet.
Definition: xecontent.hxx:89
sal_uInt32 Insert(const XclExpStringRef &xString)
Inserts a new string into the table.
Definition: xecontent.cxx:244
XclExpLabelranges(const XclExpRoot &rRoot)
Fills the cell range lists with all ranges of the current sheet.
Definition: xecontent.cxx:545
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the CONDFMT record.
Definition: xecontent.cxx:1409
XclExpCF(const XclExpRoot &rRoot, const ScCondFormatEntry &rFormatEntry, sal_Int32 nPriority, ScAddress aOrigin)
Definition: xecontent.cxx:1095
XclExpMergedcells(const XclExpRoot &rRoot)
Definition: xecontent.cxx:261
Provides export of the data of a DV record.
Definition: xecontent.hxx:314
XclExpString maPromptTitle
Excel range list with all affected cells.
Definition: xecontent.hxx:338
XclTokenArrayRef mxTokArr2
x12ac:list for first condition.
Definition: xecontent.hxx:346
std::shared_ptr< XclExpString > XclExpStringRef
Definition: xeroot.hxx:35
virtual void Save(XclExpStream &rStrm) override
Writes the DVAL record and the DV record list.
Definition: xecontent.cxx:1944
virtual void Save(XclExpStream &rStrm) override
Writes the complete SST and EXTSST records.
Definition: xecontent.cxx:249
XclExpDVList maDVList
Definition: xecontent.hxx:377
void SvStream & rStrm
XclExpString maPromptText
The prompt title.
Definition: xecontent.hxx:339
XclExpDval(const XclExpRoot &rRoot)
Definition: xecontent.cxx:1925
Provides export of the SST (shared string table) record.
Definition: xecontent.hxx:51
OUString msList
OOXML Formula for first condition.
Definition: xecontent.hxx:345
bool Finalize()
Converts the Calc range list to the Excel range list.
Definition: xecontent.cxx:1855
sal_Int32 mnPriority
Definition: xecontent.hxx:194
ScAddress maSrcPos
Definition: xecontent.hxx:205
XclExpRecordList< XclExpHyperlink > XclExpHyperlinkList
Definition: xecontent.hxx:135
sal_uInt32 GetBaseXFId(const ScAddress &rPos) const
Returns the XF identifier of the top-left cell in a merged range.
Definition: xecontent.cxx:275
XclExpSstImplPtr mxImpl
Definition: xecontent.hxx:67
const ScDataBarFormat & mrFormat
Definition: xecontent.hxx:273
Base class for single records with any content.
Definition: xerecord.hxx:141
sal_Int16 SCTAB
Definition: types.hxx:22
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xecontent.cxx:309
Implementation of the SST export.
Definition: xecontent.cxx:92
std::unique_ptr< XclExpCfvo > mpCfvoUpperLimit
Definition: xecontent.hxx:270
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xecontent.cxx:1964
std::unique_ptr< XclExpCfvo > mpCfvoLowerLimit
Definition: xecontent.hxx:269