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(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 ExportConditionalFormat(SCTAB nTab);
202  void WriteExternalRefCaches();
203  void WriteConsolidation(); // core implementation
204 
205  void CollectUserDefinedNamespaces(const SfxItemPool* pPool, sal_uInt16 nAttrib);
206 
207  void AddStyleFromCells(
208  const css::uno::Reference< css::beans::XPropertySet >& xProperties,
209  const css::uno::Reference< css::sheet::XSpreadsheet >& xTable,
210  sal_Int32 nTable, const OUString* pOldName );
211  void AddStyleFromColumn(
212  const css::uno::Reference< css::beans::XPropertySet >& xColumnProperties,
213  const OUString* pOldName, sal_Int32& rIndex, bool& rIsVisible );
214  void AddStyleFromRow(
215  const css::uno::Reference< css::beans::XPropertySet >& xRowProperties,
216  const OUString* pOldName, sal_Int32& rIndex );
217 
218  void IncrementProgressBar(bool bFlush, sal_Int32 nInc = 1);
219 
220  void CopySourceStream( sal_Int32 nStartOffset, sal_Int32 nEndOffset, sal_Int32& rNewStart, sal_Int32& rNewEnd );
221 
223 
224 protected:
225  virtual SvXMLAutoStylePoolP* CreateAutoStylePool() override;
226  virtual XMLPageExport* CreatePageExport() override;
227  virtual XMLShapeExport* CreateShapeExport() override;
228  virtual XMLFontAutoStylePool* CreateFontAutoStylePool() override;
229 public:
230  ScXMLExport(
231  const css::uno::Reference< css::uno::XComponentContext >& rContext,
232  OUString const & implementationName, SvXMLExportFlags nExportFlag);
233 
234  virtual ~ScXMLExport() override;
235 
236  void collectAutoStyles() override;
237 
238  static sal_Int16 GetMeasureUnit();
239  ScDocument* GetDocument() { return pDoc; }
240  const ScDocument* GetDocument() const { return pDoc; }
241  bool IsMatrix (const ScAddress& aCell,
242  ScRange& aCellAddress, bool& bIsFirst) const;
243 
246 
247  void SetSourceStream( const css::uno::Reference<css::io::XInputStream>& xNewStream );
248 
249  void GetChangeTrackViewSettings(css::uno::Sequence<css::beans::PropertyValue>& rProps);
250  virtual void GetViewSettings(css::uno::Sequence<css::beans::PropertyValue>& rProps) override;
251  virtual void GetConfigurationSettings(css::uno::Sequence<css::beans::PropertyValue>& rProps) override;
252 
253  virtual void exportAnnotationMeta( const css::uno::Reference < css::drawing::XShape >& xShape) override;
254 
255  void SetSharedData(std::unique_ptr<ScMySharedData> pTemp);
256  ScMySharedData* GetSharedData() { return pSharedData.get(); }
257  std::unique_ptr<ScMySharedData> ReleaseSharedData();
259 
260  // Export the document.
261  virtual ErrCode exportDoc( enum ::xmloff::token::XMLTokenEnum eClass = ::xmloff::token::XML_TOKEN_INVALID ) override;
262 
263  // XExporter
264  virtual void SAL_CALL setSourceDocument( const css::uno::Reference< css::lang::XComponent >& xDoc ) override;
265 
266  // XFilter
267  virtual sal_Bool SAL_CALL filter( const css::uno::Sequence< css::beans::PropertyValue >& aDescriptor ) override;
268  virtual void SAL_CALL cancel() override;
269 
270  // XInitialization
271  virtual void SAL_CALL initialize( const css::uno::Sequence< css::uno::Any >& aArguments ) override;
272 
273  // XUnoTunnel
274  virtual sal_Int64 SAL_CALL getSomething( const css::uno::Sequence< sal_Int8 >& aIdentifier ) override;
275 
276  virtual void DisposingModel() override;
277 };
278 
279 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
static css::table::CellRangeAddress GetEndAddress(const css::uno::Reference< css::sheet::XSpreadsheet > &xTable)
Definition: xmlexprt.cxx:665
void CollectShapesAutoStyles(SCTAB nTableCount)
Definition: xmlexprt.cxx:565
std::unique_ptr< ScMySharedData > ReleaseSharedData()
Definition: xmlexprt.cxx:5464
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:5449
void WriteTheLabelRanges(const css::uno::Reference< css::sheet::XSpreadsheetDocument > &xSpreadDoc)
Definition: xmlexprt.cxx:4067
const ScDocument * GetDocument() const
Definition: xmlexprt.hxx:240
virtual void SAL_CALL initialize(const css::uno::Sequence< css::uno::Any > &aArguments) override
Definition: xmlexprt.cxx:5442
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:3661
void WriteScenario()
Definition: xmlexprt.cxx:4033
void CollectInternalShape(css::uno::Reference< css::drawing::XShape > const &xShape)
Definition: xmlexprt.cxx:2666
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:1526
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:1411
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:3466
void WriteTable(sal_Int32 nTable, const css::uno::Reference< css::sheet::XSpreadsheet > &xTable)
Definition: xmlexprt.cxx:2777
sal_uInt16 nCurrentTable
Definition: xmlexprt.hxx:126
void GetAreaLinks(ScMyAreaLinksContainer &rAreaLinks)
Definition: xmlexprt.cxx:679
SvXMLExportFlags
rtl::Reference< XMLPropertySetMapper > xCellStylesPropertySetMapper
Definition: xmlexprt.hxx:85
rtl::Reference< XMLPropertySetMapper > xColumnStylesPropertySetMapper
Definition: xmlexprt.hxx:86
ScMySharedData * GetSharedData()
Definition: xmlexprt.hxx:256
std::unordered_map< sal_Int32, sal_Int32 > NumberFormatIndexMap
Definition: xmlexprt.hxx:94
const rtl::Reference< XMLPropertySetMapper > & GetCellStylesPropertySetMapper() const
Definition: xmlexprt.hxx:244
std::unique_ptr< ScColumnStyles > pColumnStyles
Definition: xmlexprt.hxx:97
OUString sElemCoveredCell
Definition: xmlexprt.hxx:119
virtual void ExportFontDecls_() override
Definition: xmlexprt.cxx:659
void SetSharedData(std::unique_ptr< ScMySharedData > pTemp)
Definition: xmlexprt.cxx:5462
void WriteNamedExpressions()
Definition: xmlexprt.cxx:4112
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:1949
void OpenHeaderColumn()
Definition: xmlexprt.cxx:770
void OpenRow(const sal_Int32 nTable, const sal_Int32 nStartRow, const sal_Int32 nRepeatRow, ScXMLCachedRowAttrAccess &rRowAttr)
Definition: xmlexprt.cxx:1421
void collectAutoStyles() override
Definition: xmlexprt.cxx:2217
void OpenHeaderRows()
Definition: xmlexprt.cxx:1365
std::unique_ptr< sc::CompileFormulaContext > mpCompileFormulaCxt
Definition: xmlexprt.hxx:83
void CloseRow(const sal_Int32 nRow)
Definition: xmlexprt.cxx:1504
void WriteColumn(const sal_Int32 nColumn, const sal_Int32 nRepeatColumns, const sal_Int32 nStyleIndex, const bool bIsVisible)
Definition: xmlexprt.cxx:748
void GetChangeTrackViewSettings(css::uno::Sequence< css::beans::PropertyValue > &rProps)
Definition: xmlexprt.cxx:5149
const ScXMLEditAttributeMap & GetEditAttributeMap() const
Definition: xmlexprt.cxx:1838
virtual void SAL_CALL cancel() override
Definition: xmlexprt.cxx:5433
std::unique_ptr< ScMySharedData > pSharedData
Definition: xmlexprt.hxx:96
rtl::Reference< XMLPropertySetMapper > xTableStylesPropertySetMapper
Definition: xmlexprt.hxx:88
virtual void DisposingModel() override
Definition: xmlexprt.cxx:5455
void WriteEditCell(const EditTextObject *pText)
Definition: xmlexprt.cxx:3273
void WriteRowStartTag(const sal_Int32 nIndex, const sal_Int32 nEmptyRows, bool bHidden, bool bFiltered)
Definition: xmlexprt.cxx:1345
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:1608
std::unique_ptr< ScChangeTrackingExportHelper > pChangeTrackingExportHelper
Definition: xmlexprt.hxx:110
virtual void ExportContent_() override
Definition: xmlexprt.cxx:1855
static void FillFieldGroup(ScOutlineArray *pFields, ScMyOpenCloseColumnRowGroup *pGroups)
Definition: xmlexprt.cxx:1636
void CloseHeaderRows()
Definition: xmlexprt.cxx:1371
void WriteSingleColumn(const sal_Int32 nRepeatColumns, const sal_Int32 nStyleIndex, const sal_Int32 nIndex, const bool bIsAutoStyle, const bool bIsVisible)
Definition: xmlexprt.cxx:731
bool IsMatrix(const ScAddress &aCell, ScRange &aCellAddress, bool &bIsFirst) const
Definition: xmlexprt.cxx:2748
void ExportShape(const css::uno::Reference< css::drawing::XShape > &xShape, css::awt::Point *pPoint)
Definition: xmlexprt.cxx:3344
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:102
virtual ErrCode exportDoc(enum::xmloff::token::XMLTokenEnum eClass=::xmloff::token::XML_TOKEN_INVALID) override
Definition: xmlexprt.cxx:5341
virtual SvXMLAutoStylePoolP * CreateAutoStylePool() override
Definition: xmlexprt.cxx:5139
virtual void ExportAutoStyles_() override
Definition: xmlexprt.cxx:2606
void AddStyleFromColumn(const css::uno::Reference< css::beans::XPropertySet > &xColumnProperties, const OUString *pOldName, sal_Int32 &rIndex, bool &rIsVisible)
Definition: xmlexprt.cxx:2130
OUString sAttrValueType
Definition: xmlexprt.hxx:116
XMLNumberFormatAttributesExportHelper * GetNumberFormatAttributesExportHelper()
Definition: xmlexprt.cxx:5293
css::uno::Reference< css::io::XInputStream > xSourceStream
Definition: xmlexprt.hxx:78
virtual XMLShapeExport * CreateShapeExport() override
Definition: xmlexprt.cxx:5288
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:5300
const rtl::Reference< XMLPropertySetMapper > & GetTableStylesPropertySetMapper() const
Definition: xmlexprt.hxx:245
void WriteCell(ScMyCell &aCell, sal_Int32 nEqualCellCount)
Definition: xmlexprt.cxx:3110
void WriteLabelRanges(const css::uno::Reference< css::container::XIndexAccess > &xRangesIAccess, bool bColumn)
Definition: xmlexprt.cxx:4089
void WriteDetective(const ScMyCell &rMyCell)
Definition: xmlexprt.cxx:3763
void WriteTableShapes()
Definition: xmlexprt.cxx:3622
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:1376
void SetRepeatAttribute(sal_Int32 nEqualCellCount, bool bIncProgress)
Definition: xmlexprt.cxx:3805
std::unique_ptr< ScMyValidationsContainer > pValidationsContainer
Definition: xmlexprt.hxx:109
static bool IsEditCell(const ScMyCell &rCell)
Definition: xmlexprt.cxx:3818
sal_Int32 nProgressCount
Definition: xmlexprt.hxx:125
void RegisterDefinedStyleNames(const css::uno::Reference< css::sheet::XSpreadsheetDocument > &xSpreadDoc)
Definition: xmlexprt.cxx:1845
void WriteExternalDataMapping()
Definition: xmlexprt.cxx:4120
unsigned char sal_Bool
OUString sElemRow
Definition: xmlexprt.hxx:121
virtual void ExportMeta_() override
Definition: xmlexprt.cxx:631
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:5393
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:877
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:2700
void WriteConsolidation()
Definition: xmlexprt.cxx:5104
void ExportConditionalFormat(SCTAB nTab)
Definition: xmlexprt.cxx:4615
void WriteRowContent()
Definition: xmlexprt.cxx:1277
exports com.sun.star. beans
rtl::Reference< SvXMLExportPropertyMapper > xRowStylesExportPropertySetMapper
Definition: xmlexprt.hxx:91
void CollectSharedData(SCTAB &nTableCount, sal_Int32 &nShapesCount)
Definition: xmlexprt.cxx:481
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:5222
ScDocument * GetDocument()
Definition: xmlexprt.hxx:239
void WriteExternalRefCaches()
Definition: xmlexprt.cxx:4911
virtual void exportAnnotationMeta(const css::uno::Reference< css::drawing::XShape > &xShape) override
Definition: xmlexprt.cxx:3685
void ExportCellTextAutoStyles(sal_Int32 nTable)
Definition: xmlexprt.cxx:1242
void ExportColumns(const sal_Int32 nTable, const ScRange &aColumnHeaderRange, const bool bHasColumnHeader)
Definition: xmlexprt.cxx:780
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:2167
void CopySourceStream(sal_Int32 nStartOffset, sal_Int32 nEndOffset, sal_Int32 &rNewStart, sal_Int32 &rNewEnd)
Definition: xmlexprt.cxx:1798
void CloseHeaderColumn()
Definition: xmlexprt.cxx:775
OUString sElemCol
Definition: xmlexprt.hxx:120
virtual sal_Bool SAL_CALL filter(const css::uno::Sequence< css::beans::PropertyValue > &aDescriptor) override
Definition: xmlexprt.cxx:5422
std::unique_ptr< ScMyMergedRangesContainer > pMergedRangesContainer
Definition: xmlexprt.hxx:108
void WriteMultiLineFormulaResult(const ScFormulaCell *pCell)
Definition: xmlexprt.cxx:3308
void WriteExternalDataTransformations(const std::vector< std::shared_ptr< sc::DataTransformation >> &aDataTransformations)
Definition: xmlexprt.cxx:4150
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:1985
void FillColumnRowGroups()
Definition: xmlexprt.cxx:1656
std::unique_ptr< ScXMLEditAttributeMap > mpEditAttrMap
Definition: xmlexprt.hxx:81
void WriteAnnotation(ScMyCell &rMyCell)
Definition: xmlexprt.cxx:3741
bool IsCellEqual(const ScMyCell &aCell1, const ScMyCell &aCell2)
Definition: xmlexprt.cxx:3823
virtual void SetBodyAttributes() override
Definition: xmlexprt.cxx:1673
void IncrementProgressBar(bool bFlush, sal_Int32 nInc=1)
Definition: xmlexprt.cxx:5331
sal_Int32 nOpenRow
Definition: xmlexprt.hxx:124
void WriteNamedRange(ScRangeName *pRangeName)
Definition: xmlexprt.cxx:4490
virtual void GetViewSettings(css::uno::Sequence< css::beans::PropertyValue > &rProps) override
Definition: xmlexprt.cxx:5194
css::uno::Reference< css::sheet::XSpreadsheet > xCurrentTable
Definition: xmlexprt.hxx:76
virtual ~ScXMLExport() override
Definition: xmlexprt.cxx:418
virtual XMLPageExport * CreatePageExport() override
Definition: xmlexprt.cxx:5144
rtl::Reference< XMLPropertySetMapper > xRowStylesPropertySetMapper
Definition: xmlexprt.hxx:87
OUString sAttrName
Definition: xmlexprt.hxx:112
OUString sAttrStringValue
Definition: xmlexprt.hxx:117
static sal_Int16 GetMeasureUnit()
Definition: xmlexprt.cxx:334
void GetDetectiveOpList(ScMyDetectiveOpContainer &rDetOp)
Definition: xmlexprt.cxx:704
virtual XMLFontAutoStylePool * CreateFontAutoStylePool() override
Definition: xmlfonte.cxx:141
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:4448
sal_Int16 SCTAB
Definition: types.hxx:22
void WriteTableSource()
Definition: xmlexprt.cxx:3964
const ScMyCell * pCurrentCell
Definition: xmlexprt.hxx:106
void WriteCalculationSettings(const css::uno::Reference< css::sheet::XSpreadsheetDocument > &xSpreadDoc)
Definition: xmlexprt.cxx:3891
sal_Int32 GetNumberFormatStyleIndex(sal_Int32 nNumFmt) const
Definition: xmlexprt.cxx:472
rtl::Reference< SvXMLExportPropertyMapper > xCellStylesExportPropertySetMapper
Definition: xmlexprt.hxx:89
virtual void ExportMasterStyles_() override
Definition: xmlexprt.cxx:2661