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 #pragma once
20 
21 #include <xmloff/xmlexp.hxx>
22 #include <com/sun/star/table/CellRangeAddress.hpp>
23 #include <com/sun/star/io/XInputStream.hpp>
24 
25 #include <address.hxx>
26 
27 #include <memory>
28 #include <unordered_map>
29 
30 
31 namespace com::sun::star {
32  namespace beans { class XPropertySet; }
33 }
34 
35 namespace com::sun::star::table { class XCellRange; }
36 namespace com::sun::star::sheet { class XSpreadsheet; }
37 namespace com::sun::star::sheet { class XSpreadsheetDocument; }
38 
39 namespace sc { class DataTransformation; }
40 
41 class ScOutlineArray;
47 class ScColumnStyles;
48 class ScRowStyles;
50 class ScRowFormatRanges;
54 struct ScMyCell;
55 class ScDocument;
56 class ScMySharedData;
57 class ScMyDefaultStyles;
59 class SfxItemPool;
61 class ScRangeName;
63 class EditTextObject;
64 class ScFormulaCell;
65 
66 namespace sc {
67 
68 class CompileFormulaContext;
69 
70 }
71 
72 
73 class ScXMLExport : public SvXMLExport
74 {
76  css::uno::Reference <css::sheet::XSpreadsheet> xCurrentTable;
77 
78  css::uno::Reference<css::io::XInputStream> xSourceStream;
79  sal_Int32 nSourceStreamPos;
80 
81  mutable std::unique_ptr<ScXMLEditAttributeMap> mpEditAttrMap;
82  std::unique_ptr<ScMyNotEmptyCellsIterator> mpCellsItr;
83  std::unique_ptr<sc::CompileFormulaContext> mpCompileFormulaCxt;
93  std::unique_ptr<XMLNumberFormatAttributesExportHelper> pNumberFormatAttributesExportHelper;
94  typedef std::unordered_map<sal_Int32, sal_Int32> NumberFormatIndexMap;
95  NumberFormatIndexMap aNumFmtIndexMap;
96  std::unique_ptr<ScMySharedData> pSharedData;
97  std::unique_ptr<ScColumnStyles> pColumnStyles;
98  std::unique_ptr<ScRowStyles> pRowStyles;
99  std::unique_ptr<ScFormatRangeStyles> pCellStyles;
100  std::unique_ptr<ScRowFormatRanges> pRowFormatRanges;
101  std::vector<OUString> aTableStyles;
103  std::unique_ptr<ScMyOpenCloseColumnRowGroup> pGroupColumns;
104  std::unique_ptr<ScMyOpenCloseColumnRowGroup> pGroupRows;
105  std::unique_ptr<ScMyDefaultStyles> pDefaults;
107 
108  std::unique_ptr<ScMyMergedRangesContainer> pMergedRangesContainer;
109  std::unique_ptr<ScMyValidationsContainer> pValidationsContainer;
110  std::unique_ptr<ScChangeTrackingExportHelper> pChangeTrackingExportHelper;
112  OUString sAttrName;
113  OUString sAttrStyleName;
115  OUString sAttrFormula;
116  OUString sAttrValueType;
118  OUString sElemCell;
120  OUString sElemCol;
121  OUString sElemRow;
122  OUString sElemTab;
123  OUString sElemP;
124  sal_Int32 nOpenRow;
125  sal_Int32 nProgressCount;
126  sal_uInt16 nCurrentTable;
129 
130  sal_Int32 GetNumberFormatStyleIndex(sal_Int32 nNumFmt) const;
131  void CollectSharedData(SCTAB& nTableCount, sal_Int32& nShapesCount);
132  void CollectShapesAutoStyles(SCTAB nTableCount);
133  void RegisterDefinedStyleNames( const css::uno::Reference< css::sheet::XSpreadsheetDocument > & xSpreadDoc );
134  virtual void ExportFontDecls_() override;
135  virtual void ExportStyles_( bool bUsed ) override;
136  virtual void ExportAutoStyles_() override;
137  virtual void ExportMasterStyles_() override;
138  virtual void SetBodyAttributes() override;
139  virtual void ExportContent_() override;
140  virtual void ExportMeta_() override;
141 
142  void CollectInternalShape( css::uno::Reference< css::drawing::XShape > const & xShape );
143 
144  static css::table::CellRangeAddress GetEndAddress(const css::uno::Reference<css::sheet::XSpreadsheet>& xTable);
145  void GetAreaLinks( ScMyAreaLinksContainer& rAreaLinks );
147  void WriteSingleColumn(const sal_Int32 nRepeatColumns, const sal_Int32 nStyleIndex,
148  const sal_Int32 nIndex, const bool bIsAutoStyle, const bool bIsVisible);
149  void WriteColumn(const sal_Int32 nColumn, const sal_Int32 nRepeatColumns,
150  const sal_Int32 nStyleIndex, const bool bIsVisible);
151  void OpenHeaderColumn();
152  void CloseHeaderColumn();
153  void ExportColumns(const sal_Int32 nTable, const ScRange& aColumnHeaderRange, const bool bHasColumnHeader);
155  void ExportCellTextAutoStyles(sal_Int32 nTable);
156  void ExportFormatRanges(const sal_Int32 nStartCol, const sal_Int32 nStartRow,
157  const sal_Int32 nEndCol, const sal_Int32 nEndRow, const sal_Int32 nSheet);
158  void WriteRowContent();
159  void WriteRowStartTag(const sal_Int32 nIndex, const sal_Int32 nEmptyRows, bool bHidden, bool bFiltered);
160  void OpenHeaderRows();
161  void CloseHeaderRows();
162  void OpenNewRow(const sal_Int32 nIndex, const sal_Int32 nStartRow, const sal_Int32 nEmptyRows,
163  bool bHidden, bool bFiltered);
164  void OpenAndCloseRow(const sal_Int32 nIndex, const sal_Int32 nStartRow, const sal_Int32 nEmptyRows,
165  bool bHidden, bool bFiltered);
166  void OpenRow(const sal_Int32 nTable, const sal_Int32 nStartRow, const sal_Int32 nRepeatRow, ScXMLCachedRowAttrAccess& rRowAttr);
167  void CloseRow(const sal_Int32 nRow);
168  void GetColumnRowHeader(bool& bHasColumnHeader, ScRange& aColumnHeaderRange,
169  bool& bHasRowHeader, ScRange& aRowHeaderRange, OUString& rPrintRanges) const;
170  static void FillFieldGroup(ScOutlineArray* pFields, ScMyOpenCloseColumnRowGroup* pGroups);
171  void FillColumnRowGroups();
172 
173  bool GetMerged (const css::table::CellRangeAddress* pCellRange,
174  const css::uno::Reference <css::sheet::XSpreadsheet>& xTable);
175 
176  void WriteTable(sal_Int32 nTable, const css::uno::Reference< css::sheet::XSpreadsheet>& xTable);
177  void WriteCell(ScMyCell& aCell, sal_Int32 nEqualCellCount);
178  void WriteEditCell(const EditTextObject* pText);
179  void WriteMultiLineFormulaResult(const ScFormulaCell* pCell);
180  void WriteAreaLink(const ScMyCell& rMyCell);
181  void WriteAnnotation(const ScMyCell& rMyCell);
182  void WriteDetective(const ScMyCell& rMyCell);
183  void ExportShape(const css::uno::Reference < css::drawing::XShape >& xShape, css::awt::Point* pPoint);
184  void WriteShapes(const ScMyCell& rMyCell);
185  void WriteTableShapes();
186  void SetRepeatAttribute(sal_Int32 nEqualCellCount, bool bIncProgress);
187 
188  static bool IsEditCell(const ScMyCell& rCell);
189  bool IsCellEqual(const ScMyCell& aCell1, const ScMyCell& aCell2);
190 
191  void WriteCalculationSettings(const css::uno::Reference <css::sheet::XSpreadsheetDocument>& xSpreadDoc);
192  void WriteTableSource();
193  void WriteScenario(); // core implementation
194  void WriteTheLabelRanges(const css::uno::Reference< css::sheet::XSpreadsheetDocument >& xSpreadDoc);
195  void WriteLabelRanges( const css::uno::Reference< css::container::XIndexAccess >& xRangesIAccess, bool bColumn );
196  void WriteNamedExpressions();
198  void WriteExternalDataTransformations(const std::vector<std::shared_ptr<sc::DataTransformation>>& aDataTransformations);
199  void WriteDataStream();
200  void WriteNamedRange(ScRangeName* pRangeName);
201  void exportSparklineGroups(SCTAB nTab);
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 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
static css::table::CellRangeAddress GetEndAddress(const css::uno::Reference< css::sheet::XSpreadsheet > &xTable)
Definition: xmlexprt.cxx:664
void CollectShapesAutoStyles(SCTAB nTableCount)
Definition: xmlexprt.cxx:564
std::unique_ptr< ScMySharedData > ReleaseSharedData()
Definition: xmlexprt.cxx:5447
std::unique_ptr< ScRowFormatRanges > pRowFormatRanges
Definition: xmlexprt.hxx:100
virtual sal_Int64 SAL_CALL getSomething(const css::uno::Sequence< sal_Int8 > &aIdentifier) override
Definition: xmlexprt.cxx:5432
void WriteTheLabelRanges(const css::uno::Reference< css::sheet::XSpreadsheetDocument > &xSpreadDoc)
Definition: xmlexprt.cxx:4046
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:5425
OUString sElemCell
Definition: xmlexprt.hxx:118
Provide mapping from ODF text formatting styles to EditEngine's, for rich-text cell content import...
void WriteAreaLink(const ScMyCell &rMyCell)
Definition: xmlexprt.cxx:3641
void WriteScenario()
Definition: xmlexprt.cxx:4012
void CollectInternalShape(css::uno::Reference< css::drawing::XShape > const &xShape)
Definition: xmlexprt.cxx:2677
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:1537
std::vector< OUString > aTableStyles
Definition: xmlexprt.hxx:101
void OpenAndCloseRow(const sal_Int32 nIndex, const sal_Int32 nStartRow, const sal_Int32 nEmptyRows, bool bHidden, bool bFiltered)
Definition: xmlexprt.cxx:1422
std::unique_ptr< ScFormatRangeStyles > pCellStyles
Definition: xmlexprt.hxx:99
rtl::Reference< SvXMLExportPropertyMapper > xTableStylesExportPropertySetMapper
Definition: xmlexprt.hxx:92
void WriteShapes(const ScMyCell &rMyCell)
Definition: xmlexprt.cxx:3446
void WriteTable(sal_Int32 nTable, const css::uno::Reference< css::sheet::XSpreadsheet > &xTable)
Definition: xmlexprt.cxx:2788
sal_uInt16 nCurrentTable
Definition: xmlexprt.hxx:126
void GetAreaLinks(ScMyAreaLinksContainer &rAreaLinks)
Definition: xmlexprt.cxx:678
SvXMLExportFlags
rtl::Reference< XMLPropertySetMapper > xCellStylesPropertySetMapper
Definition: xmlexprt.hxx:85
rtl::Reference< XMLPropertySetMapper > xColumnStylesPropertySetMapper
Definition: xmlexprt.hxx:86
ScMySharedData * GetSharedData()
Definition: xmlexprt.hxx:257
std::unordered_map< sal_Int32, sal_Int32 > NumberFormatIndexMap
Definition: xmlexprt.hxx:94
const rtl::Reference< XMLPropertySetMapper > & GetCellStylesPropertySetMapper() const
Definition: xmlexprt.hxx:245
std::unique_ptr< ScColumnStyles > pColumnStyles
Definition: xmlexprt.hxx:97
OUString sElemCoveredCell
Definition: xmlexprt.hxx:119
virtual void ExportFontDecls_() override
Definition: xmlexprt.cxx:658
void SetSharedData(std::unique_ptr< ScMySharedData > pTemp)
Definition: xmlexprt.cxx:5445
void WriteNamedExpressions()
Definition: xmlexprt.cxx:4091
sal_Int32 nSourceStreamPos
Definition: xmlexprt.hxx:79
std::unique_ptr< ScMyDefaultStyles > pDefaults
Definition: xmlexprt.hxx:105
std::unique_ptr< XMLNumberFormatAttributesExportHelper > pNumberFormatAttributesExportHelper
Definition: xmlexprt.hxx:93
OUString sElemTab
Definition: xmlexprt.hxx:122
virtual void ExportStyles_(bool bUsed) override
Definition: xmlexprt.cxx:1960
void OpenHeaderColumn()
Definition: xmlexprt.cxx:771
void OpenRow(const sal_Int32 nTable, const sal_Int32 nStartRow, const sal_Int32 nRepeatRow, ScXMLCachedRowAttrAccess &rRowAttr)
Definition: xmlexprt.cxx:1432
void collectAutoStyles() override
Definition: xmlexprt.cxx:2228
void OpenHeaderRows()
Definition: xmlexprt.cxx:1376
std::unique_ptr< sc::CompileFormulaContext > mpCompileFormulaCxt
Definition: xmlexprt.hxx:83
void CloseRow(const sal_Int32 nRow)
Definition: xmlexprt.cxx:1515
void WriteColumn(const sal_Int32 nColumn, const sal_Int32 nRepeatColumns, const sal_Int32 nStyleIndex, const bool bIsVisible)
Definition: xmlexprt.cxx:749
void GetChangeTrackViewSettings(css::uno::Sequence< css::beans::PropertyValue > &rProps)
Definition: xmlexprt.cxx:5131
const ScXMLEditAttributeMap & GetEditAttributeMap() const
Definition: xmlexprt.cxx:1849
virtual void SAL_CALL cancel() override
Definition: xmlexprt.cxx:5416
std::unique_ptr< ScMySharedData > pSharedData
Definition: xmlexprt.hxx:96
rtl::Reference< XMLPropertySetMapper > xTableStylesPropertySetMapper
Definition: xmlexprt.hxx:88
virtual void DisposingModel() override
Definition: xmlexprt.cxx:5438
void WriteEditCell(const EditTextObject *pText)
Definition: xmlexprt.cxx:3285
void WriteRowStartTag(const sal_Int32 nIndex, const sal_Int32 nEmptyRows, bool bHidden, bool bFiltered)
Definition: xmlexprt.cxx:1354
ScDocument * pDoc
Definition: xmlexprt.hxx:75
std::unique_ptr< ScMyOpenCloseColumnRowGroup > pGroupRows
Definition: xmlexprt.hxx:104
void GetColumnRowHeader(bool &bHasColumnHeader, ScRange &aColumnHeaderRange, bool &bHasRowHeader, ScRange &aRowHeaderRange, OUString &rPrintRanges) const
Definition: xmlexprt.cxx:1619
std::unique_ptr< ScChangeTrackingExportHelper > pChangeTrackingExportHelper
Definition: xmlexprt.hxx:110
virtual void ExportContent_() override
Definition: xmlexprt.cxx:1866
static void FillFieldGroup(ScOutlineArray *pFields, ScMyOpenCloseColumnRowGroup *pGroups)
Definition: xmlexprt.cxx:1647
void CloseHeaderRows()
Definition: xmlexprt.cxx:1382
void WriteSingleColumn(const sal_Int32 nRepeatColumns, const sal_Int32 nStyleIndex, const sal_Int32 nIndex, const bool bIsAutoStyle, const bool bIsVisible)
Definition: xmlexprt.cxx:730
bool IsMatrix(const ScAddress &aCell, ScRange &aCellAddress, bool &bIsFirst) const
Definition: xmlexprt.cxx:2759
void ExportShape(const css::uno::Reference< css::drawing::XShape > &xShape, css::awt::Point *pPoint)
Definition: xmlexprt.cxx:3356
Wrapper for accessing hidden and filtered row attributes.
void SetSourceStream(const css::uno::Reference< css::io::XInputStream > &xNewStream)
Definition: xmlexprt.cxx:432
ScRange aRowHeaderRange
Definition: xmlexprt.hxx:102
virtual ErrCode exportDoc(enum::xmloff::token::XMLTokenEnum eClass=::xmloff::token::XML_TOKEN_INVALID) override
Definition: xmlexprt.cxx:5324
virtual SvXMLAutoStylePoolP * CreateAutoStylePool() override
Definition: xmlexprt.cxx:5121
virtual void ExportAutoStyles_() override
Definition: xmlexprt.cxx:2617
void AddStyleFromColumn(const css::uno::Reference< css::beans::XPropertySet > &xColumnProperties, const OUString *pOldName, sal_Int32 &rIndex, bool &rIsVisible)
Definition: xmlexprt.cxx:2141
OUString sAttrValueType
Definition: xmlexprt.hxx:116
XMLNumberFormatAttributesExportHelper * GetNumberFormatAttributesExportHelper()
Definition: xmlexprt.cxx:5276
css::uno::Reference< css::io::XInputStream > xSourceStream
Definition: xmlexprt.hxx:78
virtual XMLShapeExport * CreateShapeExport() override
Definition: xmlexprt.cxx:5271
std::unique_ptr< ScMyNotEmptyCellsIterator > mpCellsItr
Definition: xmlexprt.hxx:82
OUString sElemP
Definition: xmlexprt.hxx:123
void CollectUserDefinedNamespaces(const SfxItemPool *pPool, sal_uInt16 nAttrib)
Definition: xmlexprt.cxx:5283
const rtl::Reference< XMLPropertySetMapper > & GetTableStylesPropertySetMapper() const
Definition: xmlexprt.hxx:246
void WriteCell(ScMyCell &aCell, sal_Int32 nEqualCellCount)
Definition: xmlexprt.cxx:3122
void WriteLabelRanges(const css::uno::Reference< css::container::XIndexAccess > &xRangesIAccess, bool bColumn)
Definition: xmlexprt.cxx:4068
void WriteDetective(const ScMyCell &rMyCell)
Definition: xmlexprt.cxx:3743
void WriteTableShapes()
Definition: xmlexprt.cxx:3602
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:1387
void WriteAnnotation(const ScMyCell &rMyCell)
Definition: xmlexprt.cxx:3721
void SetRepeatAttribute(sal_Int32 nEqualCellCount, bool bIncProgress)
Definition: xmlexprt.cxx:3784
std::unique_ptr< ScMyValidationsContainer > pValidationsContainer
Definition: xmlexprt.hxx:109
static bool IsEditCell(const ScMyCell &rCell)
Definition: xmlexprt.cxx:3797
CAUTION! The following defines must be in the same namespace as the respective type.
sal_Int32 nProgressCount
Definition: xmlexprt.hxx:125
void RegisterDefinedStyleNames(const css::uno::Reference< css::sheet::XSpreadsheetDocument > &xSpreadDoc)
Definition: xmlexprt.cxx:1856
void WriteExternalDataMapping()
Definition: xmlexprt.cxx:4099
unsigned char sal_Bool
OUString sElemRow
Definition: xmlexprt.hxx:121
virtual void ExportMeta_() override
Definition: xmlexprt.cxx:630
NumberFormatIndexMap aNumFmtIndexMap
Definition: xmlexprt.hxx:95
rtl::Reference< SvXMLExportPropertyMapper > xColumnStylesExportPropertySetMapper
Definition: xmlexprt.hxx:90
virtual void SAL_CALL setSourceDocument(const css::uno::Reference< css::lang::XComponent > &xDoc) override
Definition: xmlexprt.cxx:5376
ScXMLExport(const css::uno::Reference< css::uno::XComponentContext > &rContext, OUString const &implementationName, SvXMLExportFlags nExportFlag)
Definition: xmlexprt.cxx:344
OUString sAttrColumnsRepeated
Definition: xmlexprt.hxx:114
void ExportExternalRefCacheStyles()
Definition: xmlexprt.cxx:876
bool bHasRowHeader
Definition: xmlexprt.hxx:127
OUString sAttrFormula
Definition: xmlexprt.hxx:115
bool GetMerged(const css::table::CellRangeAddress *pCellRange, const css::uno::Reference< css::sheet::XSpreadsheet > &xTable)
Definition: xmlexprt.cxx:2711
void WriteConsolidation()
Definition: xmlexprt.cxx:5088
void ExportConditionalFormat(SCTAB nTab)
Definition: xmlexprt.cxx:4599
void WriteRowContent()
Definition: xmlexprt.cxx:1286
exports com.sun.star. beans
rtl::Reference< SvXMLExportPropertyMapper > xRowStylesExportPropertySetMapper
Definition: xmlexprt.hxx:91
void CollectSharedData(SCTAB &nTableCount, sal_Int32 &nShapesCount)
Definition: xmlexprt.cxx:480
rtl::Reference< XMLPropertyHandlerFactory > xScPropHdlFactory
Definition: xmlexprt.hxx:84
std::unique_ptr< ScRowStyles > pRowStyles
Definition: xmlexprt.hxx:98
virtual void GetConfigurationSettings(css::uno::Sequence< css::beans::PropertyValue > &rProps) override
Definition: xmlexprt.cxx:5204
ScDocument * GetDocument()
Definition: xmlexprt.hxx:240
void WriteExternalRefCaches()
Definition: xmlexprt.cxx:4895
virtual void exportAnnotationMeta(const css::uno::Reference< css::drawing::XShape > &xShape) override
Definition: xmlexprt.cxx:3665
void ExportCellTextAutoStyles(sal_Int32 nTable)
Definition: xmlexprt.cxx:1251
void ExportColumns(const sal_Int32 nTable, const ScRange &aColumnHeaderRange, const bool bHasColumnHeader)
Definition: xmlexprt.cxx:781
bool bRowHeaderOpen
Definition: xmlexprt.hxx:128
void AddStyleFromRow(const css::uno::Reference< css::beans::XPropertySet > &xRowProperties, const OUString *pOldName, sal_Int32 &rIndex)
Definition: xmlexprt.cxx:2178
void CopySourceStream(sal_Int32 nStartOffset, sal_Int32 nEndOffset, sal_Int32 &rNewStart, sal_Int32 &rNewEnd)
Definition: xmlexprt.cxx:1809
void CloseHeaderColumn()
Definition: xmlexprt.cxx:776
OUString sElemCol
Definition: xmlexprt.hxx:120
virtual sal_Bool SAL_CALL filter(const css::uno::Sequence< css::beans::PropertyValue > &aDescriptor) override
Definition: xmlexprt.cxx:5405
std::unique_ptr< ScMyMergedRangesContainer > pMergedRangesContainer
Definition: xmlexprt.hxx:108
void WriteMultiLineFormulaResult(const ScFormulaCell *pCell)
Definition: xmlexprt.cxx:3320
void WriteExternalDataTransformations(const std::vector< std::shared_ptr< sc::DataTransformation >> &aDataTransformations)
Definition: xmlexprt.cxx:4129
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:1996
void FillColumnRowGroups()
Definition: xmlexprt.cxx:1667
std::unique_ptr< ScXMLEditAttributeMap > mpEditAttrMap
Definition: xmlexprt.hxx:81
bool IsCellEqual(const ScMyCell &aCell1, const ScMyCell &aCell2)
Definition: xmlexprt.cxx:3802
virtual void SetBodyAttributes() override
Definition: xmlexprt.cxx:1684
void IncrementProgressBar(bool bFlush, sal_Int32 nInc=1)
Definition: xmlexprt.cxx:5314
sal_Int32 nOpenRow
Definition: xmlexprt.hxx:124
void WriteNamedRange(ScRangeName *pRangeName)
Definition: xmlexprt.cxx:4469
virtual void GetViewSettings(css::uno::Sequence< css::beans::PropertyValue > &rProps) override
Definition: xmlexprt.cxx:5176
css::uno::Reference< css::sheet::XSpreadsheet > xCurrentTable
Definition: xmlexprt.hxx:76
virtual ~ScXMLExport() override
Definition: xmlexprt.cxx:417
virtual XMLPageExport * CreatePageExport() override
Definition: xmlexprt.cxx:5126
rtl::Reference< XMLPropertySetMapper > xRowStylesPropertySetMapper
Definition: xmlexprt.hxx:87
OUString sAttrName
Definition: xmlexprt.hxx:112
OUString sAttrStringValue
Definition: xmlexprt.hxx:117
void exportSparklineGroups(SCTAB nTab)
Definition: xmlexprt.cxx:4528
static sal_Int16 GetMeasureUnit()
Definition: xmlexprt.cxx:336
void GetDetectiveOpList(ScMyDetectiveOpContainer &rDetOp)
Definition: xmlexprt.cxx:703
virtual XMLFontAutoStylePool * CreateFontAutoStylePool() override
Definition: xmlfonte.cxx:142
OUString sAttrStyleName
Definition: xmlexprt.hxx:113
std::unique_ptr< ScMyOpenCloseColumnRowGroup > pGroupColumns
Definition: xmlexprt.hxx:103
OUString sExternalRefTabStyleName
Definition: xmlexprt.hxx:111
void WriteDataStream()
Definition: xmlexprt.cxx:4427
sal_Int16 SCTAB
Definition: types.hxx:22
void WriteTableSource()
Definition: xmlexprt.cxx:3943
const ScMyCell * pCurrentCell
Definition: xmlexprt.hxx:106
void WriteCalculationSettings(const css::uno::Reference< css::sheet::XSpreadsheetDocument > &xSpreadDoc)
Definition: xmlexprt.cxx:3870
sal_Int32 GetNumberFormatStyleIndex(sal_Int32 nNumFmt) const
Definition: xmlexprt.cxx:471
rtl::Reference< SvXMLExportPropertyMapper > xCellStylesExportPropertySetMapper
Definition: xmlexprt.hxx:89
virtual void ExportMasterStyles_() override
Definition: xmlexprt.cxx:2672