22#include <com/sun/star/table/CellRangeAddress.hpp>
23#include <com/sun/star/io/XInputStream.hpp>
28#include <unordered_map>
39namespace sc {
class DataTransformation; }
68class CompileFormulaContext;
144 static css::table::CellRangeAddress
GetEndAddress(
const css::uno::Reference<css::sheet::XSpreadsheet>& xTable);
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);
153 void ExportColumns(
const sal_Int32 nTable,
const ScRange& aColumnHeaderRange,
const bool bHasColumnHeader);
157 const sal_Int32 nEndCol,
const sal_Int32 nEndRow,
const sal_Int32 nSheet);
159 void WriteRowStartTag(
const sal_Int32 nIndex,
const sal_Int32 nEmptyRows,
bool bHidden,
bool bFiltered);
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);
167 void CloseRow(
const sal_Int32 nRow);
173 bool GetMerged (
const css::table::CellRangeAddress* pCellRange,
174 const css::uno::Reference <css::sheet::XSpreadsheet>& xTable);
176 void WriteTable(sal_Int32 nTable,
const css::uno::Reference< css::sheet::XSpreadsheet>& xTable);
183 void ExportShape(
const css::uno::Reference < css::drawing::XShape >& xShape, css::awt::Point* pPoint);
194 void WriteTheLabelRanges(
const css::uno::Reference< css::sheet::XSpreadsheetDocument >& xSpreadDoc);
195 void WriteLabelRanges(
const css::uno::Reference< css::container::XIndexAccess >& xRangesIAccess,
bool bColumn );
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 );
213 const css::uno::Reference< css::beans::XPropertySet >& xColumnProperties,
214 const OUString* pOldName, sal_Int32& rIndex,
bool& rIsVisible );
216 const css::uno::Reference< css::beans::XPropertySet >& xRowProperties,
217 const OUString* pOldName, sal_Int32& rIndex );
221 void CopySourceStream( sal_Int32 nStartOffset, sal_Int32 nEndOffset, sal_Int32& rNewStart, sal_Int32& rNewEnd );
232 const css::uno::Reference< css::uno::XComponentContext >& rContext,
243 ScRange& aCellAddress,
bool& bIsFirst)
const;
248 void SetSourceStream(
const css::uno::Reference<css::io::XInputStream>& xNewStream );
251 virtual void GetViewSettings(css::uno::Sequence<css::beans::PropertyValue>& rProps)
override;
254 virtual void exportAnnotationMeta(
const css::uno::Reference < css::drawing::XShape >& xShape)
override;
262 virtual ErrCode exportDoc( enum ::xmloff::token::XMLTokenEnum eClass = ::xmloff::token::XML_TOKEN_INVALID )
override;
265 virtual void SAL_CALL
setSourceDocument(
const css::uno::Reference< css::lang::XComponent >& xDoc )
override;
268 virtual sal_Bool SAL_CALL
filter(
const css::uno::Sequence< css::beans::PropertyValue >& aDescriptor )
override;
269 virtual void SAL_CALL
cancel()
override;
272 virtual void SAL_CALL
initialize(
const css::uno::Sequence< css::uno::Any >& aArguments )
override;
Wrapper for accessing hidden and filtered row attributes.
Provide mapping from ODF text formatting styles to EditEngine's, for rich-text cell content import.
void OpenNewRow(const sal_Int32 nIndex, const sal_Int32 nStartRow, const sal_Int32 nEmptyRows, bool bHidden, bool bFiltered)
std::unique_ptr< ScFormatRangeStyles > pCellStyles
void WriteNamedRange(ScRangeName *pRangeName)
virtual void ExportMeta_() override
void GetDetectiveOpList(ScMyDetectiveOpContainer &rDetOp)
void OpenAndCloseRow(const sal_Int32 nIndex, const sal_Int32 nStartRow, const sal_Int32 nEmptyRows, bool bHidden, bool bFiltered)
void WriteEditCell(const EditTextObject *pText)
const ScMyCell * pCurrentCell
void AddStyleFromRow(const css::uno::Reference< css::beans::XPropertySet > &xRowProperties, const OUString *pOldName, sal_Int32 &rIndex)
sal_Int32 GetNumberFormatStyleIndex(sal_Int32 nNumFmt) const
void WriteCell(ScMyCell &aCell, sal_Int32 nEqualCellCount)
void exportSparklineGroups(SCTAB nTab)
void ExportCellTextAutoStyles(sal_Int32 nTable)
rtl::Reference< XMLPropertySetMapper > xColumnStylesPropertySetMapper
std::unique_ptr< ScMyNotEmptyCellsIterator > mpCellsItr
void WriteConsolidation()
virtual ~ScXMLExport() override
std::unique_ptr< ScColumnStyles > pColumnStyles
std::unique_ptr< ScChangeTrackingExportHelper > pChangeTrackingExportHelper
NumberFormatIndexMap aNumFmtIndexMap
std::vector< OUString > aTableStyles
void SetRepeatAttribute(sal_Int32 nEqualCellCount, bool bIncProgress)
void ExportColumns(const sal_Int32 nTable, const ScRange &aColumnHeaderRange, const bool bHasColumnHeader)
const ScDocument * GetDocument() const
virtual void SAL_CALL initialize(const css::uno::Sequence< css::uno::Any > &aArguments) override
virtual void ExportContent_() override
ScDocument * GetDocument()
std::unique_ptr< XMLNumberFormatAttributesExportHelper > pNumberFormatAttributesExportHelper
virtual XMLFontAutoStylePool * CreateFontAutoStylePool() override
void WriteDetective(const ScMyCell &rMyCell)
void WriteLabelRanges(const css::uno::Reference< css::container::XIndexAccess > &xRangesIAccess, bool bColumn)
void WriteAnnotation(const ScMyCell &rMyCell)
std::unique_ptr< ScMySharedData > pSharedData
virtual void ExportAutoStyles_() override
static css::table::CellRangeAddress GetEndAddress(const css::uno::Reference< css::sheet::XSpreadsheet > &xTable)
const rtl::Reference< XMLPropertySetMapper > & GetTableStylesPropertySetMapper() const
XMLNumberFormatAttributesExportHelper * GetNumberFormatAttributesExportHelper()
rtl::Reference< XMLPropertySetMapper > xCellStylesPropertySetMapper
void WriteCalculationSettings(const css::uno::Reference< css::sheet::XSpreadsheetDocument > &xSpreadDoc)
rtl::Reference< SvXMLExportPropertyMapper > xTableStylesExportPropertySetMapper
virtual void ExportMasterStyles_() override
virtual void DisposingModel() override
virtual void exportAnnotationMeta(const css::uno::Reference< css::drawing::XShape > &xShape) override
void GetAreaLinks(ScMyAreaLinksContainer &rAreaLinks)
ScMySharedData * GetSharedData()
void AddStyleFromColumn(const css::uno::Reference< css::beans::XPropertySet > &xColumnProperties, const OUString *pOldName, sal_Int32 &rIndex, bool &rIsVisible)
OUString sAttrStringValue
std::unique_ptr< ScMySharedData > ReleaseSharedData()
virtual SvXMLAutoStylePoolP * CreateAutoStylePool() override
virtual XMLShapeExport * CreateShapeExport() override
void CollectInternalShape(css::uno::Reference< css::drawing::XShape > const &xShape)
void RegisterDefinedStyleNames(const css::uno::Reference< css::sheet::XSpreadsheetDocument > &xSpreadDoc)
OUString sExternalRefTabStyleName
void IncrementProgressBar(bool bFlush, sal_Int32 nInc=1)
sal_Int32 nSourceStreamPos
rtl::Reference< XMLPropertyHandlerFactory > xScPropHdlFactory
void ExportExternalRefCacheStyles()
virtual XMLPageExport * CreatePageExport() override
OUString sAttrColumnsRepeated
static void FillFieldGroup(ScOutlineArray *pFields, ScMyOpenCloseColumnRowGroup *pGroups)
virtual void SAL_CALL setSourceDocument(const css::uno::Reference< css::lang::XComponent > &xDoc) override
bool IsMatrix(const ScAddress &aCell, ScRange &aCellAddress, bool &bIsFirst) const
void SetSourceStream(const css::uno::Reference< css::io::XInputStream > &xNewStream)
std::unique_ptr< sc::CompileFormulaContext > mpCompileFormulaCxt
void WriteColumn(const sal_Int32 nColumn, const sal_Int32 nRepeatColumns, const sal_Int32 nStyleIndex, const bool bIsVisible)
void WriteExternalDataMapping()
virtual void GetConfigurationSettings(css::uno::Sequence< css::beans::PropertyValue > &rProps) override
css::uno::Reference< css::io::XInputStream > xSourceStream
bool IsCellEqual(const ScMyCell &aCell1, const ScMyCell &aCell2)
void WriteRowStartTag(const sal_Int32 nIndex, const sal_Int32 nEmptyRows, bool bHidden, bool bFiltered)
void GetColumnRowHeader(bool &bHasColumnHeader, ScRange &aColumnHeaderRange, bool &bHasRowHeader, ScRange &aRowHeaderRange, OUString &rPrintRanges) const
virtual void ExportFontDecls_() override
std::unique_ptr< ScMyDefaultStyles > pDefaults
void WriteTheLabelRanges(const css::uno::Reference< css::sheet::XSpreadsheetDocument > &xSpreadDoc)
static bool IsEditCell(const ScMyCell &rCell)
virtual void GetViewSettings(css::uno::Sequence< css::beans::PropertyValue > &rProps) override
void collectAutoStyles() override
std::unique_ptr< ScRowStyles > pRowStyles
void WriteNamedExpressions()
rtl::Reference< XMLPropertySetMapper > xRowStylesPropertySetMapper
rtl::Reference< SvXMLExportPropertyMapper > xRowStylesExportPropertySetMapper
void WriteExternalDataTransformations(const std::vector< std::shared_ptr< sc::DataTransformation > > &aDataTransformations)
void AddStyleFromCells(const css::uno::Reference< css::beans::XPropertySet > &xProperties, const css::uno::Reference< css::sheet::XSpreadsheet > &xTable, sal_Int32 nTable, const OUString *pOldName)
void ExportShape(const css::uno::Reference< css::drawing::XShape > &xShape, css::awt::Point *pPoint)
std::unique_ptr< ScMyOpenCloseColumnRowGroup > pGroupRows
void SetSharedData(std::unique_ptr< ScMySharedData > pTemp)
ScXMLExport(const css::uno::Reference< css::uno::XComponentContext > &rContext, OUString const &implementationName, SvXMLExportFlags nExportFlag)
void WriteExternalRefCaches()
void FillColumnRowGroups()
virtual void SAL_CALL cancel() override
const rtl::Reference< XMLPropertySetMapper > & GetCellStylesPropertySetMapper() const
std::unordered_map< sal_Int32, sal_Int32 > NumberFormatIndexMap
void WriteShapes(const ScMyCell &rMyCell)
void CloseRow(const sal_Int32 nRow)
virtual void SetBodyAttributes() override
void WriteAreaLink(const ScMyCell &rMyCell)
void ExportConditionalFormat(SCTAB nTab)
std::unique_ptr< ScMyMergedRangesContainer > pMergedRangesContainer
std::unique_ptr< ScXMLEditAttributeMap > mpEditAttrMap
rtl::Reference< SvXMLExportPropertyMapper > xCellStylesExportPropertySetMapper
void OpenRow(const sal_Int32 nTable, const sal_Int32 nStartRow, const sal_Int32 nRepeatRow, ScXMLCachedRowAttrAccess &rRowAttr)
void WriteSingleColumn(const sal_Int32 nRepeatColumns, const sal_Int32 nStyleIndex, const sal_Int32 nIndex, const bool bIsAutoStyle, const bool bIsVisible)
bool GetMerged(const css::table::CellRangeAddress *pCellRange, const css::uno::Reference< css::sheet::XSpreadsheet > &xTable)
void CollectSharedData(SCTAB &nTableCount, sal_Int32 &nShapesCount)
css::uno::Reference< css::sheet::XSpreadsheet > xCurrentTable
void GetChangeTrackViewSettings(css::uno::Sequence< css::beans::PropertyValue > &rProps)
virtual sal_Bool SAL_CALL filter(const css::uno::Sequence< css::beans::PropertyValue > &aDescriptor) override
const ScXMLEditAttributeMap & GetEditAttributeMap() const
void CopySourceStream(sal_Int32 nStartOffset, sal_Int32 nEndOffset, sal_Int32 &rNewStart, sal_Int32 &rNewEnd)
std::unique_ptr< ScRowFormatRanges > pRowFormatRanges
std::unique_ptr< ScMyValidationsContainer > pValidationsContainer
rtl::Reference< SvXMLExportPropertyMapper > xColumnStylesExportPropertySetMapper
static sal_Int16 GetMeasureUnit()
void WriteMultiLineFormulaResult(const ScFormulaCell *pCell)
std::unique_ptr< ScMyOpenCloseColumnRowGroup > pGroupColumns
OUString sElemCoveredCell
void WriteTable(sal_Int32 nTable, const css::uno::Reference< css::sheet::XSpreadsheet > &xTable)
void ExportFormatRanges(const sal_Int32 nStartCol, const sal_Int32 nStartRow, const sal_Int32 nEndCol, const sal_Int32 nEndRow, const sal_Int32 nSheet)
virtual void ExportStyles_(bool bUsed) override
void CollectShapesAutoStyles(SCTAB nTableCount)
void CollectUserDefinedNamespaces(const SfxItemPool *pPool, sal_uInt16 nAttrib)
virtual ErrCode exportDoc(enum ::xmloff::token::XMLTokenEnum eClass=::xmloff::token::XML_TOKEN_INVALID) override
rtl::Reference< XMLPropertySetMapper > xTableStylesPropertySetMapper
class SAL_NO_VTABLE XPropertySet
CAUTION! The following defines must be in the same namespace as the respective type.