LibreOffice Module sc (master)  1
xmlexprt.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 #ifndef INCLUDED_SC_SOURCE_FILTER_XML_XMLEXPRT_HXX
20 #define INCLUDED_SC_SOURCE_FILTER_XML_XMLEXPRT_HXX
21 
22 #include <xmloff/xmlexp.hxx>
23 #include <com/sun/star/table/CellRangeAddress.hpp>
24 #include <com/sun/star/io/XInputStream.hpp>
25 
26 #include <address.hxx>
27 
28 #include <memory>
29 #include <unordered_map>
30 
31 
32 namespace com::sun::star {
33  namespace beans { class XPropertySet; }
34 }
35 
36 namespace com::sun::star::table { class XCellRange; }
37 namespace com::sun::star::sheet { class XSpreadsheet; }
38 namespace com::sun::star::sheet { class XSpreadsheetDocument; }
39 
40 namespace sc { class DataTransformation; }
41 
42 class ScOutlineArray;
48 class ScColumnStyles;
49 class ScRowStyles;
51 class ScRowFormatRanges;
55 struct ScMyCell;
56 class ScDocument;
57 class ScMySharedData;
58 class ScMyDefaultStyles;
60 class SfxItemPool;
62 class ScRangeName;
64 class EditTextObject;
65 class ScFormulaCell;
66 
67 namespace sc {
68 
69 class CompileFormulaContext;
70 
71 }
72 
73 
74 class ScXMLExport : public SvXMLExport
75 {
77  css::uno::Reference <css::sheet::XSpreadsheet> xCurrentTable;
78 
79  css::uno::Reference<css::io::XInputStream> xSourceStream;
80  sal_Int32 nSourceStreamPos;
81 
82  mutable std::unique_ptr<ScXMLEditAttributeMap> mpEditAttrMap;
83  std::unique_ptr<ScMyNotEmptyCellsIterator> mpCellsItr;
84  std::unique_ptr<sc::CompileFormulaContext> mpCompileFormulaCxt;
94  std::unique_ptr<XMLNumberFormatAttributesExportHelper> pNumberFormatAttributesExportHelper;
95  typedef std::unordered_map<sal_Int32, sal_Int32> NumberFormatIndexMap;
96  NumberFormatIndexMap aNumFmtIndexMap;
97  std::unique_ptr<ScMySharedData> pSharedData;
98  std::unique_ptr<ScColumnStyles> pColumnStyles;
99  std::unique_ptr<ScRowStyles> pRowStyles;
100  std::unique_ptr<ScFormatRangeStyles> pCellStyles;
101  std::unique_ptr<ScRowFormatRanges> pRowFormatRanges;
102  std::vector<OUString> aTableStyles;
104  std::unique_ptr<ScMyOpenCloseColumnRowGroup> pGroupColumns;
105  std::unique_ptr<ScMyOpenCloseColumnRowGroup> pGroupRows;
106  std::unique_ptr<ScMyDefaultStyles> pDefaults;
108 
109  std::unique_ptr<ScMyMergedRangesContainer> pMergedRangesContainer;
110  std::unique_ptr<ScMyValidationsContainer> pValidationsContainer;
111  std::unique_ptr<ScChangeTrackingExportHelper> pChangeTrackingExportHelper;
113  OUString sAttrName;
114  OUString sAttrStyleName;
116  OUString sAttrFormula;
117  OUString sAttrValueType;
119  OUString sElemCell;
121  OUString sElemCol;
122  OUString sElemRow;
123  OUString sElemTab;
124  OUString sElemP;
125  sal_Int32 nOpenRow;
126  sal_Int32 nProgressCount;
127  sal_uInt16 nCurrentTable;
130 
131  sal_Int32 GetNumberFormatStyleIndex(sal_Int32 nNumFmt) const;
132  void CollectSharedData(SCTAB& nTableCount, sal_Int32& nShapesCount);
133  void CollectShapesAutoStyles(SCTAB nTableCount);
134  void RegisterDefinedStyleNames( const css::uno::Reference< css::sheet::XSpreadsheetDocument > & xSpreadDoc );
135  virtual void ExportFontDecls_() override;
136  virtual void ExportStyles_( bool bUsed ) override;
137  virtual void ExportAutoStyles_() override;
138  virtual void ExportMasterStyles_() override;
139  virtual void SetBodyAttributes() override;
140  virtual void ExportContent_() override;
141  virtual void ExportMeta_() override;
142 
143  void CollectInternalShape( css::uno::Reference< css::drawing::XShape > const & xShape );
144 
145  static css::table::CellRangeAddress GetEndAddress(const css::uno::Reference<css::sheet::XSpreadsheet>& xTable);
146  void GetAreaLinks( ScMyAreaLinksContainer& rAreaLinks );
148  void WriteSingleColumn(const sal_Int32 nRepeatColumns, const sal_Int32 nStyleIndex,
149  const sal_Int32 nIndex, const bool bIsAutoStyle, const bool bIsVisible);
150  void WriteColumn(const sal_Int32 nColumn, const sal_Int32 nRepeatColumns,
151  const sal_Int32 nStyleIndex, const bool bIsVisible);
152  void OpenHeaderColumn();
153  void CloseHeaderColumn();
154  void ExportColumns(const sal_Int32 nTable, const ScRange& aColumnHeaderRange, const bool bHasColumnHeader);
156  void ExportCellTextAutoStyles(sal_Int32 nTable);
157  void ExportFormatRanges(const sal_Int32 nStartCol, const sal_Int32 nStartRow,
158  const sal_Int32 nEndCol, const sal_Int32 nEndRow, const sal_Int32 nSheet);
159  void WriteRowContent();
160  void WriteRowStartTag(const sal_Int32 nIndex, const sal_Int32 nEmptyRows, bool bHidden, bool bFiltered);
161  void OpenHeaderRows();
162  void CloseHeaderRows();
163  void OpenNewRow(const sal_Int32 nIndex, const sal_Int32 nStartRow, const sal_Int32 nEmptyRows,
164  bool bHidden, bool bFiltered);
165  void OpenAndCloseRow(const sal_Int32 nIndex, const sal_Int32 nStartRow, const sal_Int32 nEmptyRows,
166  bool bHidden, bool bFiltered);
167  void OpenRow(const sal_Int32 nTable, const sal_Int32 nStartRow, const sal_Int32 nRepeatRow, ScXMLCachedRowAttrAccess& rRowAttr);
168  void CloseRow(const sal_Int32 nRow);
169  void GetColumnRowHeader(bool& bHasColumnHeader, ScRange& aColumnHeaderRange,
170  bool& bHasRowHeader, ScRange& aRowHeaderRange, OUString& rPrintRanges) const;
171  static void FillFieldGroup(ScOutlineArray* pFields, ScMyOpenCloseColumnRowGroup* pGroups);
172  void FillColumnRowGroups();
173 
174  bool GetMerged (const css::table::CellRangeAddress* pCellRange,
175  const css::uno::Reference <css::sheet::XSpreadsheet>& xTable);
176 
177  void WriteTable(sal_Int32 nTable, const css::uno::Reference< css::sheet::XSpreadsheet>& xTable);
178  void WriteCell(ScMyCell& aCell, sal_Int32 nEqualCellCount);
179  void WriteEditCell(const EditTextObject* pText);
180  void WriteMultiLineFormulaResult(const ScFormulaCell* pCell);
181  void WriteAreaLink(const ScMyCell& rMyCell);
182  void WriteAnnotation(ScMyCell& rMyCell);
183  void WriteDetective(const ScMyCell& rMyCell);
184  void ExportShape(const css::uno::Reference < css::drawing::XShape >& xShape, css::awt::Point* pPoint);
185  void WriteShapes(const ScMyCell& rMyCell);
186  void WriteTableShapes();
187  void SetRepeatAttribute(sal_Int32 nEqualCellCount, bool bIncProgress);
188 
189  static bool IsEditCell(const ScMyCell& rCell);
190  bool IsCellEqual(const ScMyCell& aCell1, const ScMyCell& aCell2);
191 
192  void WriteCalculationSettings(const css::uno::Reference <css::sheet::XSpreadsheetDocument>& xSpreadDoc);
193  void WriteTableSource();
194  void WriteScenario(); // core implementation
195  void WriteTheLabelRanges(const css::uno::Reference< css::sheet::XSpreadsheetDocument >& xSpreadDoc);
196  void WriteLabelRanges( const css::uno::Reference< css::container::XIndexAccess >& xRangesIAccess, bool bColumn );
197  void WriteNamedExpressions();
199  void WriteExternalDataTransformations(const std::vector<std::shared_ptr<sc::DataTransformation>>& aDataTransformations);
200  void WriteDataStream();
201  void WriteNamedRange(ScRangeName* pRangeName);
202  void ExportConditionalFormat(SCTAB nTab);
203  void WriteExternalRefCaches();
204  void WriteConsolidation(); // core implementation
205 
206  void CollectUserDefinedNamespaces(const SfxItemPool* pPool, sal_uInt16 nAttrib);
207 
208  void AddStyleFromCells(
209  const css::uno::Reference< css::beans::XPropertySet >& xProperties,
210  const css::uno::Reference< css::sheet::XSpreadsheet >& xTable,
211  sal_Int32 nTable, const OUString* pOldName );
212  void AddStyleFromColumn(
213  const css::uno::Reference< css::beans::XPropertySet >& xColumnProperties,
214  const OUString* pOldName, sal_Int32& rIndex, bool& rIsVisible );
215  void AddStyleFromRow(
216  const css::uno::Reference< css::beans::XPropertySet >& xRowProperties,
217  const OUString* pOldName, sal_Int32& rIndex );
218 
219  void IncrementProgressBar(bool bFlush, sal_Int32 nInc = 1);
220 
221  void CopySourceStream( sal_Int32 nStartOffset, sal_Int32 nEndOffset, sal_Int32& rNewStart, sal_Int32& rNewEnd );
222 
224 
225 protected:
226  virtual SvXMLAutoStylePoolP* CreateAutoStylePool() override;
227  virtual XMLPageExport* CreatePageExport() override;
228  virtual XMLShapeExport* CreateShapeExport() override;
229  virtual XMLFontAutoStylePool* CreateFontAutoStylePool() override;
230 public:
231  ScXMLExport(
232  const css::uno::Reference< css::uno::XComponentContext >& rContext,
233  OUString const & implementationName, SvXMLExportFlags nExportFlag);
234 
235  virtual ~ScXMLExport() override;
236 
237  void collectAutoStyles() override;
238 
239  static sal_Int16 GetMeasureUnit();
240  ScDocument* GetDocument() { return pDoc; }
241  const ScDocument* GetDocument() const { return pDoc; }
242  bool IsMatrix (const ScAddress& aCell,
243  ScRange& aCellAddress, bool& bIsFirst) const;
244 
247 
248  void SetSourceStream( const css::uno::Reference<css::io::XInputStream>& xNewStream );
249 
250  void GetChangeTrackViewSettings(css::uno::Sequence<css::beans::PropertyValue>& rProps);
251  virtual void GetViewSettings(css::uno::Sequence<css::beans::PropertyValue>& rProps) override;
252  virtual void GetConfigurationSettings(css::uno::Sequence<css::beans::PropertyValue>& rProps) override;
253 
254  virtual void exportAnnotationMeta( const css::uno::Reference < css::drawing::XShape >& xShape) override;
255 
256  void SetSharedData(std::unique_ptr<ScMySharedData> pTemp);
257  ScMySharedData* GetSharedData() { return pSharedData.get(); }
258  std::unique_ptr<ScMySharedData> ReleaseSharedData();
260 
261  // Export the document.
262  virtual ErrCode exportDoc( enum ::xmloff::token::XMLTokenEnum eClass = ::xmloff::token::XML_TOKEN_INVALID ) override;
263 
264  // XExporter
265  virtual void SAL_CALL setSourceDocument( const css::uno::Reference< css::lang::XComponent >& xDoc ) override;
266 
267  // XFilter
268  virtual sal_Bool SAL_CALL filter( const css::uno::Sequence< css::beans::PropertyValue >& aDescriptor ) override;
269  virtual void SAL_CALL cancel() override;
270 
271  // XInitialization
272  virtual void SAL_CALL initialize( const css::uno::Sequence< css::uno::Any >& aArguments ) override;
273 
274  // XUnoTunnel
275  virtual sal_Int64 SAL_CALL getSomething( const css::uno::Sequence< sal_Int8 >& aIdentifier ) override;
276 
277  virtual void DisposingModel() override;
278 };
279 
280 #endif
281 
282 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
static css::table::CellRangeAddress GetEndAddress(const css::uno::Reference< css::sheet::XSpreadsheet > &xTable)
Definition: xmlexprt.cxx:669
void CollectShapesAutoStyles(SCTAB nTableCount)
Definition: xmlexprt.cxx:569
std::unique_ptr< ScMySharedData > ReleaseSharedData()
Definition: xmlexprt.cxx:5374
std::unique_ptr< ScRowFormatRanges > pRowFormatRanges
Definition: xmlexprt.hxx:101
virtual sal_Int64 SAL_CALL getSomething(const css::uno::Sequence< sal_Int8 > &aIdentifier) override
Definition: xmlexprt.cxx:5359
void WriteTheLabelRanges(const css::uno::Reference< css::sheet::XSpreadsheetDocument > &xSpreadDoc)
Definition: xmlexprt.cxx:3977
const ScDocument * GetDocument() const
Definition: xmlexprt.hxx:241
virtual void SAL_CALL initialize(const css::uno::Sequence< css::uno::Any > &aArguments) override
Definition: xmlexprt.cxx:5352
OUString sElemCell
Definition: xmlexprt.hxx:119
Provide mapping from ODF text formatting styles to EditEngine's, for rich-text cell content import...
void WriteAreaLink(const ScMyCell &rMyCell)
Definition: xmlexprt.cxx:3571
void WriteScenario()
Definition: xmlexprt.cxx:3943
void CollectInternalShape(css::uno::Reference< css::drawing::XShape > const &xShape)
Definition: xmlexprt.cxx:2669
void ExportFormatRanges(const sal_Int32 nStartCol, const sal_Int32 nStartRow, const sal_Int32 nEndCol, const sal_Int32 nEndRow, const sal_Int32 nSheet)
Definition: xmlexprt.cxx:1529
std::vector< OUString > aTableStyles
Definition: xmlexprt.hxx:102
void OpenAndCloseRow(const sal_Int32 nIndex, const sal_Int32 nStartRow, const sal_Int32 nEmptyRows, bool bHidden, bool bFiltered)
Definition: xmlexprt.cxx:1414
std::unique_ptr< ScFormatRangeStyles > pCellStyles
Definition: xmlexprt.hxx:100
rtl::Reference< SvXMLExportPropertyMapper > xTableStylesExportPropertySetMapper
Definition: xmlexprt.hxx:93
void WriteShapes(const ScMyCell &rMyCell)
Definition: xmlexprt.cxx:3473
void WriteTable(sal_Int32 nTable, const css::uno::Reference< css::sheet::XSpreadsheet > &xTable)
Definition: xmlexprt.cxx:2784
sal_uInt16 nCurrentTable
Definition: xmlexprt.hxx:127
void GetAreaLinks(ScMyAreaLinksContainer &rAreaLinks)
Definition: xmlexprt.cxx:683
SvXMLExportFlags
rtl::Reference< XMLPropertySetMapper > xCellStylesPropertySetMapper
Definition: xmlexprt.hxx:86
rtl::Reference< XMLPropertySetMapper > xColumnStylesPropertySetMapper
Definition: xmlexprt.hxx:87
ScMySharedData * GetSharedData()
Definition: xmlexprt.hxx:257
std::unordered_map< sal_Int32, sal_Int32 > NumberFormatIndexMap
Definition: xmlexprt.hxx:95
const rtl::Reference< XMLPropertySetMapper > & GetCellStylesPropertySetMapper() const
Definition: xmlexprt.hxx:245
std::unique_ptr< ScColumnStyles > pColumnStyles
Definition: xmlexprt.hxx:98
OUString sElemCoveredCell
Definition: xmlexprt.hxx:120
virtual void ExportFontDecls_() override
Definition: xmlexprt.cxx:663
void SetSharedData(std::unique_ptr< ScMySharedData > pTemp)
Definition: xmlexprt.cxx:5372
void WriteNamedExpressions()
Definition: xmlexprt.cxx:4022
sal_Int32 nSourceStreamPos
Definition: xmlexprt.hxx:80
std::unique_ptr< ScMyDefaultStyles > pDefaults
Definition: xmlexprt.hxx:106
std::unique_ptr< XMLNumberFormatAttributesExportHelper > pNumberFormatAttributesExportHelper
Definition: xmlexprt.hxx:94
OUString sElemTab
Definition: xmlexprt.hxx:123
virtual void ExportStyles_(bool bUsed) override
Definition: xmlexprt.cxx:1952
void OpenHeaderColumn()
Definition: xmlexprt.cxx:774
void OpenRow(const sal_Int32 nTable, const sal_Int32 nStartRow, const sal_Int32 nRepeatRow, ScXMLCachedRowAttrAccess &rRowAttr)
Definition: xmlexprt.cxx:1424
void collectAutoStyles() override
Definition: xmlexprt.cxx:2220
void OpenHeaderRows()
Definition: xmlexprt.cxx:1368
std::unique_ptr< sc::CompileFormulaContext > mpCompileFormulaCxt
Definition: xmlexprt.hxx:84
void CloseRow(const sal_Int32 nRow)
Definition: xmlexprt.cxx:1507
void WriteColumn(const sal_Int32 nColumn, const sal_Int32 nRepeatColumns, const sal_Int32 nStyleIndex, const bool bIsVisible)
Definition: xmlexprt.cxx:752
void GetChangeTrackViewSettings(css::uno::Sequence< css::beans::PropertyValue > &rProps)
Definition: xmlexprt.cxx:5059
const ScXMLEditAttributeMap & GetEditAttributeMap() const
Definition: xmlexprt.cxx:1841
virtual void SAL_CALL cancel() override
Definition: xmlexprt.cxx:5343
std::unique_ptr< ScMySharedData > pSharedData
Definition: xmlexprt.hxx:97
rtl::Reference< XMLPropertySetMapper > xTableStylesPropertySetMapper
Definition: xmlexprt.hxx:89
virtual void DisposingModel() override
Definition: xmlexprt.cxx:5365
void WriteEditCell(const EditTextObject *pText)
Definition: xmlexprt.cxx:3280
void WriteRowStartTag(const sal_Int32 nIndex, const sal_Int32 nEmptyRows, bool bHidden, bool bFiltered)
Definition: xmlexprt.cxx:1348
ScDocument * pDoc
Definition: xmlexprt.hxx:76
std::unique_ptr< ScMyOpenCloseColumnRowGroup > pGroupRows
Definition: xmlexprt.hxx:105
void GetColumnRowHeader(bool &bHasColumnHeader, ScRange &aColumnHeaderRange, bool &bHasRowHeader, ScRange &aRowHeaderRange, OUString &rPrintRanges) const
Definition: xmlexprt.cxx:1611
std::unique_ptr< ScChangeTrackingExportHelper > pChangeTrackingExportHelper
Definition: xmlexprt.hxx:111
virtual void ExportContent_() override
Definition: xmlexprt.cxx:1858
static void FillFieldGroup(ScOutlineArray *pFields, ScMyOpenCloseColumnRowGroup *pGroups)
Definition: xmlexprt.cxx:1639
void CloseHeaderRows()
Definition: xmlexprt.cxx:1374
void WriteSingleColumn(const sal_Int32 nRepeatColumns, const sal_Int32 nStyleIndex, const sal_Int32 nIndex, const bool bIsAutoStyle, const bool bIsVisible)
Definition: xmlexprt.cxx:735
bool IsMatrix(const ScAddress &aCell, ScRange &aCellAddress, bool &bIsFirst) const
Definition: xmlexprt.cxx:2755
void ExportShape(const css::uno::Reference< css::drawing::XShape > &xShape, css::awt::Point *pPoint)
Definition: xmlexprt.cxx:3351
Wrapper for accessing hidden and filtered row attributes.
void SetSourceStream(const css::uno::Reference< css::io::XInputStream > &xNewStream)
Definition: xmlexprt.cxx:433
ScRange aRowHeaderRange
Definition: xmlexprt.hxx:103
virtual ErrCode exportDoc(enum::xmloff::token::XMLTokenEnum eClass=::xmloff::token::XML_TOKEN_INVALID) override
Definition: xmlexprt.cxx:5251
virtual SvXMLAutoStylePoolP * CreateAutoStylePool() override
Definition: xmlexprt.cxx:5049
virtual void ExportAutoStyles_() override
Definition: xmlexprt.cxx:2609
void AddStyleFromColumn(const css::uno::Reference< css::beans::XPropertySet > &xColumnProperties, const OUString *pOldName, sal_Int32 &rIndex, bool &rIsVisible)
Definition: xmlexprt.cxx:2133
OUString sAttrValueType
Definition: xmlexprt.hxx:117
XMLNumberFormatAttributesExportHelper * GetNumberFormatAttributesExportHelper()
Definition: xmlexprt.cxx:5203
css::uno::Reference< css::io::XInputStream > xSourceStream
Definition: xmlexprt.hxx:79
virtual XMLShapeExport * CreateShapeExport() override
Definition: xmlexprt.cxx:5198
std::unique_ptr< ScMyNotEmptyCellsIterator > mpCellsItr
Definition: xmlexprt.hxx:83
OUString sElemP
Definition: xmlexprt.hxx:124
void CollectUserDefinedNamespaces(const SfxItemPool *pPool, sal_uInt16 nAttrib)
Definition: xmlexprt.cxx:5210
const rtl::Reference< XMLPropertySetMapper > & GetTableStylesPropertySetMapper() const
Definition: xmlexprt.hxx:246
void WriteCell(ScMyCell &aCell, sal_Int32 nEqualCellCount)
Definition: xmlexprt.cxx:3117
void WriteLabelRanges(const css::uno::Reference< css::container::XIndexAccess > &xRangesIAccess, bool bColumn)
Definition: xmlexprt.cxx:3999
void WriteDetective(const ScMyCell &rMyCell)
Definition: xmlexprt.cxx:3673
void WriteTableShapes()
Definition: xmlexprt.cxx:3544
class SAL_NO_VTABLE XPropertySet
void OpenNewRow(const sal_Int32 nIndex, const sal_Int32 nStartRow, const sal_Int32 nEmptyRows, bool bHidden, bool bFiltered)
Definition: xmlexprt.cxx:1379
void SetRepeatAttribute(sal_Int32 nEqualCellCount, bool bIncProgress)
Definition: xmlexprt.cxx:3715
std::unique_ptr< ScMyValidationsContainer > pValidationsContainer
Definition: xmlexprt.hxx:110
static bool IsEditCell(const ScMyCell &rCell)
Definition: xmlexprt.cxx:3728
sal_Int32 nProgressCount
Definition: xmlexprt.hxx:126
void RegisterDefinedStyleNames(const css::uno::Reference< css::sheet::XSpreadsheetDocument > &xSpreadDoc)
Definition: xmlexprt.cxx:1848
void WriteExternalDataMapping()
Definition: xmlexprt.cxx:4030
unsigned char sal_Bool
OUString sElemRow
Definition: xmlexprt.hxx:122
virtual void ExportMeta_() override
Definition: xmlexprt.cxx:635
NumberFormatIndexMap aNumFmtIndexMap
Definition: xmlexprt.hxx:96
rtl::Reference< SvXMLExportPropertyMapper > xColumnStylesExportPropertySetMapper
Definition: xmlexprt.hxx:91
virtual void SAL_CALL setSourceDocument(const css::uno::Reference< css::lang::XComponent > &xDoc) override
Definition: xmlexprt.cxx:5303
ScXMLExport(const css::uno::Reference< css::uno::XComponentContext > &rContext, OUString const &implementationName, SvXMLExportFlags nExportFlag)
Definition: xmlexprt.cxx:344
OUString sAttrColumnsRepeated
Definition: xmlexprt.hxx:115
void ExportExternalRefCacheStyles()
Definition: xmlexprt.cxx:880
bool bHasRowHeader
Definition: xmlexprt.hxx:128
OUString sAttrFormula
Definition: xmlexprt.hxx:116
bool GetMerged(const css::table::CellRangeAddress *pCellRange, const css::uno::Reference< css::sheet::XSpreadsheet > &xTable)
Definition: xmlexprt.cxx:2707
void WriteConsolidation()
Definition: xmlexprt.cxx:5014
void ExportConditionalFormat(SCTAB nTab)
Definition: xmlexprt.cxx:4525
void WriteRowContent()
Definition: xmlexprt.cxx:1280
exports com.sun.star. beans
rtl::Reference< SvXMLExportPropertyMapper > xRowStylesExportPropertySetMapper
Definition: xmlexprt.hxx:92
void CollectSharedData(SCTAB &nTableCount, sal_Int32 &nShapesCount)
Definition: xmlexprt.cxx:481
rtl::Reference< XMLPropertyHandlerFactory > xScPropHdlFactory
Definition: xmlexprt.hxx:85
std::unique_ptr< ScRowStyles > pRowStyles
Definition: xmlexprt.hxx:99
virtual void GetConfigurationSettings(css::uno::Sequence< css::beans::PropertyValue > &rProps) override
Definition: xmlexprt.cxx:5132
ScDocument * GetDocument()
Definition: xmlexprt.hxx:240
void WriteExternalRefCaches()
Definition: xmlexprt.cxx:4821
virtual void exportAnnotationMeta(const css::uno::Reference< css::drawing::XShape > &xShape) override
Definition: xmlexprt.cxx:3595
void ExportCellTextAutoStyles(sal_Int32 nTable)
Definition: xmlexprt.cxx:1245
void ExportColumns(const sal_Int32 nTable, const ScRange &aColumnHeaderRange, const bool bHasColumnHeader)
Definition: xmlexprt.cxx:784
bool bRowHeaderOpen
Definition: xmlexprt.hxx:129
void AddStyleFromRow(const css::uno::Reference< css::beans::XPropertySet > &xRowProperties, const OUString *pOldName, sal_Int32 &rIndex)
Definition: xmlexprt.cxx:2170
void CopySourceStream(sal_Int32 nStartOffset, sal_Int32 nEndOffset, sal_Int32 &rNewStart, sal_Int32 &rNewEnd)
Definition: xmlexprt.cxx:1801
void CloseHeaderColumn()
Definition: xmlexprt.cxx:779
OUString sElemCol
Definition: xmlexprt.hxx:121
virtual sal_Bool SAL_CALL filter(const css::uno::Sequence< css::beans::PropertyValue > &aDescriptor) override
Definition: xmlexprt.cxx:5332
std::unique_ptr< ScMyMergedRangesContainer > pMergedRangesContainer
Definition: xmlexprt.hxx:109
void WriteMultiLineFormulaResult(const ScFormulaCell *pCell)
Definition: xmlexprt.cxx:3315
void WriteExternalDataTransformations(const std::vector< std::shared_ptr< sc::DataTransformation >> &aDataTransformations)
Definition: xmlexprt.cxx:4060
void AddStyleFromCells(const css::uno::Reference< css::beans::XPropertySet > &xProperties, const css::uno::Reference< css::sheet::XSpreadsheet > &xTable, sal_Int32 nTable, const OUString *pOldName)
Definition: xmlexprt.cxx:1988
void FillColumnRowGroups()
Definition: xmlexprt.cxx:1659
std::unique_ptr< ScXMLEditAttributeMap > mpEditAttrMap
Definition: xmlexprt.hxx:82
void WriteAnnotation(ScMyCell &rMyCell)
Definition: xmlexprt.cxx:3651
bool IsCellEqual(const ScMyCell &aCell1, const ScMyCell &aCell2)
Definition: xmlexprt.cxx:3733
virtual void SetBodyAttributes() override
Definition: xmlexprt.cxx:1676
void IncrementProgressBar(bool bFlush, sal_Int32 nInc=1)
Definition: xmlexprt.cxx:5241
sal_Int32 nOpenRow
Definition: xmlexprt.hxx:125
void WriteNamedRange(ScRangeName *pRangeName)
Definition: xmlexprt.cxx:4400
virtual void GetViewSettings(css::uno::Sequence< css::beans::PropertyValue > &rProps) override
Definition: xmlexprt.cxx:5104
css::uno::Reference< css::sheet::XSpreadsheet > xCurrentTable
Definition: xmlexprt.hxx:77
virtual ~ScXMLExport() override
Definition: xmlexprt.cxx:418
virtual XMLPageExport * CreatePageExport() override
Definition: xmlexprt.cxx:5054
rtl::Reference< XMLPropertySetMapper > xRowStylesPropertySetMapper
Definition: xmlexprt.hxx:88
OUString sAttrName
Definition: xmlexprt.hxx:113
OUString sAttrStringValue
Definition: xmlexprt.hxx:118
static sal_Int16 GetMeasureUnit()
Definition: xmlexprt.cxx:334
void GetDetectiveOpList(ScMyDetectiveOpContainer &rDetOp)
Definition: xmlexprt.cxx:708
virtual XMLFontAutoStylePool * CreateFontAutoStylePool() override
Definition: xmlfonte.cxx:152
OUString sAttrStyleName
Definition: xmlexprt.hxx:114
std::unique_ptr< ScMyOpenCloseColumnRowGroup > pGroupColumns
Definition: xmlexprt.hxx:104
OUString sExternalRefTabStyleName
Definition: xmlexprt.hxx:112
void WriteDataStream()
Definition: xmlexprt.cxx:4358
sal_Int16 SCTAB
Definition: types.hxx:23
void WriteTableSource()
Definition: xmlexprt.cxx:3874
const ScMyCell * pCurrentCell
Definition: xmlexprt.hxx:107
void WriteCalculationSettings(const css::uno::Reference< css::sheet::XSpreadsheetDocument > &xSpreadDoc)
Definition: xmlexprt.cxx:3801
sal_Int32 GetNumberFormatStyleIndex(sal_Int32 nNumFmt) const
Definition: xmlexprt.cxx:472
rtl::Reference< SvXMLExportPropertyMapper > xCellStylesExportPropertySetMapper
Definition: xmlexprt.hxx:90
virtual void ExportMasterStyles_() override
Definition: xmlexprt.cxx:2664