/* * (c) Copyright Ascensio System SIA 2010-2023 * * This program is a free software product. You can redistribute it and/or * modify it under the terms of the GNU Affero General Public License (AGPL) * version 3 as published by the Free Software Foundation. In accordance with * Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect * that Ascensio System SIA expressly excludes the warranty of non-infringement * of any third-party rights. * * This program is distributed WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For * details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html * * You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish * street, Riga, Latvia, EU, LV-1050. * * The interactive user interfaces in modified source and object code versions * of the Program must display Appropriate Legal Notices, as required under * Section 5 of the GNU AGPL version 3. * * Pursuant to Section 7(b) of the License you must retain the original Product * logo when distributing the program. Pursuant to Section 7(e) we decline to * grant you any rights under trademark law for use of our trademarks. * * All the Product's GUI elements, including illustrations and icon sets, as * well as technical writing content are licensed under the terms of the * Creative Commons Attribution-ShareAlike 4.0 International. See the License * terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode * */ #pragma once #include "PivotTable.h" #include "PivotHierarchies.h" #include "PivotCacheChildOther.h" namespace SimpleTypes { class CDateTime; class CRelationshipId; class CUnsignedDecimalNumber; namespace Spreadsheet { class CValuesGroupBy; class CSourceCacheType; } } namespace OOX { namespace Spreadsheet { class CSharedItems : public WritingElementWithChilds { public: WritingElement_AdditionMethods(CSharedItems) WritingElement_XlsbConstructors(CSharedItems) CSharedItems(){} virtual ~CSharedItems() {} virtual void fromXML(XmlUtils::CXmlNode& node) { } virtual std::wstring toXML() const { return _T(""); } virtual void toXML(NSStringUtils::CStringBuilder& writer) const; virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); void fromBin(XLS::BaseObjectPtr& obj); XLS::BaseObjectPtr toBin(); virtual EElementType getType () const { return et_x_SharedItems; } void ReadAttributes(XLS::BaseObjectPtr& obj); void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); XLS::BaseObjectPtr writeAttributes(const unsigned char flags); nullable_bool m_oContainsBlank; nullable_bool m_oContainsDate; nullable_bool m_oContainsInteger; nullable_bool m_oContainsMixedTypes; nullable_bool m_oContainsNonDate; nullable_bool m_oContainsNumber; nullable_bool m_oContainsSemiMixedTypes; nullable_bool m_oContainsString; nullable_bool m_oLongText; nullable_double m_oMinValue; nullable_double m_oMaxValue; nullable m_oMinDate; nullable m_oMaxDate; nullable m_oCount; }; class COLAPGroupItems : public WritingElementWithChilds { public: WritingElement_AdditionMethods(COLAPGroupItems) WritingElement_XlsbConstructors(COLAPGroupItems) COLAPGroupItems(){} virtual ~COLAPGroupItems() {} virtual void fromXML(XmlUtils::CXmlNode& node) { } virtual std::wstring toXML() const { return _T(""); } virtual void toXML(NSStringUtils::CStringBuilder& writer) const; virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); void fromBin(XLS::BaseObjectPtr& obj); XLS::BaseObjectPtr toBin(); virtual EElementType getType () const { return et_x_OLAPGroupItems; } void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); nullable m_oCount; }; class CDiscreteGroupingProperties : public WritingElementWithChilds { public: WritingElement_AdditionMethods(CDiscreteGroupingProperties) WritingElement_XlsbConstructors(CDiscreteGroupingProperties) CDiscreteGroupingProperties(){} virtual ~CDiscreteGroupingProperties() {} virtual void fromXML(XmlUtils::CXmlNode& node) { } virtual std::wstring toXML() const { return L""; } virtual void toXML(NSStringUtils::CStringBuilder& writer) const; virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); void fromBin(XLS::BaseObjectPtr& obj); XLS::BaseObjectPtr toBin(); virtual EElementType getType () const { return et_x_DiscreteGroupingProperties; } void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); nullable m_oCount; }; class CRangeGroupingProperties : public WritingElement { public: WritingElement_AdditionMethods(CRangeGroupingProperties) WritingElement_XlsbConstructors(CRangeGroupingProperties) CRangeGroupingProperties(){} virtual ~CRangeGroupingProperties() {} virtual void fromXML(XmlUtils::CXmlNode& node) { } virtual std::wstring toXML() const { return L""; } virtual void toXML(NSStringUtils::CStringBuilder& writer) const; virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); void fromBin(XLS::BaseObjectPtr& obj); XLS::BaseObjectPtr toBin(); virtual EElementType getType () const { return et_x_RangeGroupingProperties; } void ReadAttributes(XLS::BaseObjectPtr& obj); void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); nullable m_oGroupBy; nullable_bool m_oAutoStart; nullable_bool m_oAutoEnd; nullable m_oStartDate; nullable m_oEndDate; nullable_double m_oStartNum; nullable_double m_oEndNum; nullable_double m_oGroupInterval; }; class CFieldGroupProperties : public WritingElement { public: WritingElement_AdditionMethods(CFieldGroupProperties) WritingElement_XlsbConstructors(CFieldGroupProperties) CFieldGroupProperties(){} virtual ~CFieldGroupProperties() {} virtual void fromXML(XmlUtils::CXmlNode& node) { } virtual std::wstring toXML() const { return L""; } virtual void toXML(NSStringUtils::CStringBuilder& writer) const; virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); void fromBin(XLS::BaseObjectPtr& obj); XLS::BaseObjectPtr toBin(); virtual EElementType getType () const { return et_x_FieldGroupProperties; } void ReadAttributes(XLS::BaseObjectPtr& obj); void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); nullable m_oBase; nullable m_oPar; nullable m_oDiscretePr; nullable m_oRangePr; nullable m_oGroupItems; }; class CPivotCacheField : public WritingElement { public: WritingElement_AdditionMethods(CPivotCacheField) WritingElement_XlsbConstructors(CPivotCacheField) CPivotCacheField(){} virtual ~CPivotCacheField() {} virtual void fromXML(XmlUtils::CXmlNode& node) { } virtual std::wstring toXML() const { return L""; } virtual void toXML(NSStringUtils::CStringBuilder& writer) const; virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); XLS::BaseObjectPtr toBin(); void fromBin(XLS::BaseObjectPtr& obj); virtual EElementType getType () const { return et_x_PivotCacheField; } XLS::BaseObjectPtr writeAttributes(); void ReadAttributes(XLS::BaseObjectPtr& obj); void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); nullable_string m_oName; nullable_string m_oCaption; nullable_bool m_oDatabaseField; nullable_bool m_oServerField; nullable_string m_oFormula; nullable_int m_oHierarchy; nullable_bool m_oMemberPropertyField; nullable_string m_oPropertyName; nullable_int m_oSqlType; nullable_bool m_oUniqueList; nullable m_oLevel; nullable m_oMappingCount; nullable m_oNumFmtId; nullable m_oSharedItems; //nullable m_oMpMap; nullable m_oFieldGroup; nullable m_oExtLst; }; class CPivotCacheFields : public WritingElementWithChilds { public: WritingElement_AdditionMethods(CPivotCacheFields) WritingElement_XlsbConstructors(CPivotCacheFields) CPivotCacheFields(){} virtual ~CPivotCacheFields() {} virtual void fromXML(XmlUtils::CXmlNode& node) { } virtual std::wstring toXML() const { return _T(""); } virtual void toXML(NSStringUtils::CStringBuilder& writer) const; virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); void fromBin(XLS::BaseObjectPtr& obj); XLS::BaseObjectPtr toBin(); virtual EElementType getType () const { return et_x_PivotCacheFields; } void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); nullable m_oCount; }; class CRangeSet : public WritingElement { public: WritingElement_AdditionMethods(CRangeSet) WritingElement_XlsbConstructors(CRangeSet) CRangeSet(){} virtual ~CRangeSet() {} virtual void fromXML(XmlUtils::CXmlNode& node) { } virtual std::wstring toXML() const { return L""; } virtual void toXML(NSStringUtils::CStringBuilder& writer) const; virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); void fromBin(XLS::BaseObjectPtr& obj); XLS::BaseObjectPtr toBin(); virtual EElementType getType () const { return et_x_RangeSet; } void ReadAttributes(XLS::BaseObjectPtr& obj); void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); nullable_string m_oSheet; nullable_string m_oRef; nullable_string m_oName; nullable m_oRid; nullable m_oI1; nullable m_oI2; nullable m_oI3; nullable m_oI4; }; class CRangeSets : public WritingElementWithChilds { public: WritingElement_AdditionMethods(CRangeSets) WritingElement_XlsbConstructors(CRangeSets) CRangeSets(){} virtual ~CRangeSets() {} virtual void fromXML(XmlUtils::CXmlNode& node) { } virtual std::wstring toXML() const { return _T(""); } virtual void toXML(NSStringUtils::CStringBuilder& writer) const; virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); void fromBin(XLS::BaseObjectPtr& obj); XLS::BaseObjectPtr toBin(); virtual EElementType getType () const { return et_x_RangeSets; } void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); nullable m_oCount; }; class CPageItem : public WritingElement { public: WritingElement_AdditionMethods(CPageItem) WritingElement_XlsbConstructors(CPageItem) CPageItem(){} virtual ~CPageItem() {} virtual void fromXML(XmlUtils::CXmlNode& node) { } virtual std::wstring toXML() const { return L""; } virtual void toXML(NSStringUtils::CStringBuilder& writer) const; virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); void fromBin(XLS::BaseObjectPtr& obj); XLS::BaseObjectPtr toBin(); virtual EElementType getType () const { return et_x_PageItem; } void ReadAttributes(XLS::BaseObjectPtr& obj); void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); nullable_string m_oName; }; class CPageItems : public WritingElementWithChilds { public: WritingElement_AdditionMethods(CPageItems) WritingElement_XlsbConstructors(CPageItems) CPageItems(){} virtual ~CPageItems() {} virtual void fromXML(XmlUtils::CXmlNode& node) { } virtual std::wstring toXML() const { return _T(""); } virtual void toXML(NSStringUtils::CStringBuilder& writer) const; virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); void fromBin(XLS::BaseObjectPtr& obj); XLS::BaseObjectPtr toBin(); virtual EElementType getType () const { return et_x_PageItems; } void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); nullable m_oCount; }; class CPageItemValues : public WritingElementWithChilds { public: WritingElement_AdditionMethods(CPageItemValues) WritingElement_XlsbConstructors(CPageItemValues) CPageItemValues(){} virtual ~CPageItemValues() {} virtual void fromXML(XmlUtils::CXmlNode& node) { } virtual std::wstring toXML() const { return _T(""); } virtual void toXML(NSStringUtils::CStringBuilder& writer) const; virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); void fromBin(XLS::BaseObjectPtr& obj); XLS::BaseObjectPtr toBin(); virtual EElementType getType () const { return et_x_PageItemValues; } void ReadAttributes(XLS::BaseObjectPtr& obj); void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); nullable m_oCount; }; class CConsolidationSource : public WritingElement { public: WritingElement_AdditionMethods(CConsolidationSource) WritingElement_XlsbConstructors(CConsolidationSource) CConsolidationSource() { } virtual ~CConsolidationSource() { } virtual void fromXML(XmlUtils::CXmlNode& node) { } virtual std::wstring toXML() const { return L""; } virtual void toXML(NSStringUtils::CStringBuilder& writer) const; virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); void fromBin(XLS::BaseObjectPtr& obj); XLS::BaseObjectPtr toBin(); virtual EElementType getType () const { return et_x_ConsolidationSource; } void ReadAttributes(XLS::BaseObjectPtr& obj); void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); //---------- nullable_bool m_oAutoPage; nullable m_oPages; nullable m_oRangeSets; }; class CWorksheetSource : public WritingElement { public: WritingElement_AdditionMethods(CWorksheetSource) WritingElement_XlsbConstructors(CWorksheetSource) CWorksheetSource(){} virtual ~CWorksheetSource() {} virtual void fromXML(XmlUtils::CXmlNode& node) { } virtual std::wstring toXML() const { return L""; } virtual void toXML(NSStringUtils::CStringBuilder& writer) const; virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); void fromBin(XLS::BaseObjectPtr& obj); XLS::BaseObjectPtr toBin(); virtual EElementType getType () const { return et_x_WorksheetSource; } void ReadAttributes(XLS::BaseObjectPtr& obj); void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); nullable_string m_oSheet; nullable_string m_oRef; nullable_string m_oName; nullable m_oRid; }; class CPivotCacheSource : public WritingElement { public: WritingElement_AdditionMethods(CPivotCacheSource) WritingElement_XlsbConstructors(CPivotCacheSource) CPivotCacheSource() { } virtual ~CPivotCacheSource() { } virtual void fromXML(XmlUtils::CXmlNode& node) { } virtual std::wstring toXML() const { return L""; } virtual void toXML(NSStringUtils::CStringBuilder& writer) const; virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); void fromBin(XLS::BaseObjectPtr& obj); XLS::BaseObjectPtr toBin(); virtual EElementType getType () const { return et_x_PivotCacheSource; } void ReadAttributes(XLS::BaseObjectPtr& obj); void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); //---------- nullable m_oConnectionId; nullable m_oType; nullable m_oConsolidation; nullable m_oWorksheetSource; nullable m_oExtLst; }; class CPivotCacheDefinition : public WritingElement { public: WritingElement_AdditionMethods(CPivotCacheDefinition) WritingElement_XlsbConstructors(CPivotCacheDefinition) CPivotCacheDefinition() { } virtual ~CPivotCacheDefinition() { } virtual void fromXML(XmlUtils::CXmlNode& node) { } virtual std::wstring toXML() const { return L""; } virtual void toXML(NSStringUtils::CStringBuilder& writer) const; virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); void fromBin(XLS::BaseObjectPtr& obj); XLS::BaseObjectPtr toBin(); virtual EElementType getType () const { return et_x_PivotCacheDefinition; } XLS::BaseObjectPtr writeAttributes(); void ReadAttributes(XLS::BaseObjectPtr& obj); void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); //---------- nullable_bool m_oBackgroundQuery; nullable_bool m_oEnableRefresh; nullable m_oRid; nullable_bool m_oInvalid; nullable m_oCreatedVersion; nullable m_oMinRefreshableVersion; nullable m_oMissingItemsLimit; nullable_bool m_oOptimizeMemory; nullable m_oRecordCount; nullable_string m_oRefreshedBy; nullable m_oRefreshedDateIso; nullable m_oRefreshedVersion; nullable_bool m_oRefreshOnLoad; nullable_bool m_oSaveData; nullable_bool m_oSupportAdvancedDrill; nullable_bool m_oSupportSubquery; nullable_bool m_oTupleCache; nullable_bool m_oUpgradeOnRefresh; nullable m_oCacheFields; nullable m_oCacheSource; nullable m_oHierarchies; nullable m_oDimensions; nullable m_oMeasureGroups; nullable m_oMaps; nullable m_oCalculatedItems; //calculatedItems (Calculated Items) §18.10.1.9 //calculatedMembers (Calculated Members) §18.10.1.11 //kpis (OLAP KPIs) §18.10.1.48 //tupleCache (Tuple Cache) nullable m_oExtLst; }; class CPivotCacheDefinitionFile : public OOX::FileGlobalEnumerated, public OOX::IFileContainer { public: CPivotCacheDefinitionFile(OOX::Document* pMain); CPivotCacheDefinitionFile(OOX::Document* pMain, const CPath& oRootPath, const CPath& oPath); virtual ~CPivotCacheDefinitionFile(); virtual void read(const CPath& oPath); void setData(BYTE* pData, long length, const std::wstring& srIdRecords); void readBin(const CPath& oPath); XLS::BaseObjectPtr WriteBin() const; virtual void read(const CPath& oRootPath, const CPath& oPath); virtual void write(const CPath& oPath, const CPath& oDirectory, CContentTypes& oContent) const; virtual const OOX::FileType type() const; virtual const CPath DefaultDirectory() const { return type().DefaultDirectory(); } virtual const CPath DefaultFileName() const { return type().DefaultFileName(); } const CPath& GetReadPath() { return m_oReadPath; } BYTE* m_pData = NULL; DWORD m_nDataLength = 0; nullable m_oPivotCashDefinition; private: CPath m_oReadPath; mutable bool bIsWritten; }; class CPivotCharacterValue : public WritingElementWithChilds { public: WritingElement_AdditionMethods(CPivotCharacterValue) WritingElement_XlsbConstructors(CPivotCharacterValue) CPivotCharacterValue(){} virtual ~CPivotCharacterValue() {} virtual void fromXML(XmlUtils::CXmlNode& node) { } virtual std::wstring toXML() const { return L""; } virtual void toXML(NSStringUtils::CStringBuilder& writer) const; virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); void fromBin(XLS::BaseObjectPtr& obj); XLS::BaseObjectPtr toBin(); virtual EElementType getType () const { return et_x_PivotCharacterValue; } void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); void ReadAttributes(XLS::BaseObjectPtr& obj); nullable_string m_oValue; nullable_string m_oCaption; nullable_bool m_oCalculated; nullable_bool m_oUnused; nullable m_oCount; nullable_bool m_oBold; nullable_bool m_oItalic; nullable_bool m_oStrike; nullable_bool m_oUnderline; nullable m_oBackColor; nullable m_oForeColor; nullable m_oFormatIndex; //tpls }; class CPivotBooleanValue : public WritingElementWithChilds { public: WritingElement_AdditionMethods(CPivotBooleanValue) WritingElement_XlsbConstructors(CPivotBooleanValue) CPivotBooleanValue(){} virtual ~CPivotBooleanValue() {} virtual void fromXML(XmlUtils::CXmlNode& node) { } virtual std::wstring toXML() const { return L""; } virtual void toXML(NSStringUtils::CStringBuilder& writer) const; virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); void fromBin(XLS::BaseObjectPtr& obj); XLS::BaseObjectPtr toBin(); virtual EElementType getType () const { return et_x_PivotBooleanValue; } void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); void ReadAttributes(XLS::BaseObjectPtr& obj); nullable_bool m_oValue; nullable_string m_oCaption; nullable_bool m_oCalculated; nullable_bool m_oUnused; nullable m_oCount; }; class CPivotNumericValue : public WritingElementWithChilds { public: WritingElement_AdditionMethods(CPivotNumericValue) WritingElement_XlsbConstructors(CPivotNumericValue) CPivotNumericValue(){} virtual ~CPivotNumericValue() {} virtual void fromXML(XmlUtils::CXmlNode& node) { } virtual std::wstring toXML() const { return L""; } virtual void toXML(NSStringUtils::CStringBuilder& writer) const; virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); void fromBin(XLS::BaseObjectPtr& obj); XLS::BaseObjectPtr toBin(); virtual EElementType getType () const { return et_x_PivotNumericValue; } void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); void ReadAttributes(XLS::BaseObjectPtr& obj); nullable_double m_oValue; nullable_string m_oCaption; nullable_bool m_oCalculated; nullable_bool m_oUnused; nullable m_oCount; nullable_bool m_oBold; nullable_bool m_oItalic; nullable_bool m_oStrike; nullable_bool m_oUnderline; nullable m_oBackColor; nullable m_oForeColor; nullable m_oFormatIndex; //tpls }; class CPivotDateTimeValue : public WritingElementWithChilds { public: WritingElement_AdditionMethods(CPivotDateTimeValue) WritingElement_XlsbConstructors(CPivotDateTimeValue) CPivotDateTimeValue(){} virtual ~CPivotDateTimeValue() {} virtual void fromXML(XmlUtils::CXmlNode& node) { } virtual std::wstring toXML() const { return L""; } virtual void toXML(NSStringUtils::CStringBuilder& writer) const; virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); void fromBin(XLS::BaseObjectPtr& obj); XLS::BaseObjectPtr toBin(); virtual EElementType getType () const { return et_x_PivotDateTimeValue; } void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); void ReadAttributes(XLS::BaseObjectPtr& obj); nullable m_oValue; nullable_string m_oCaption; nullable_bool m_oCalculated; nullable_bool m_oUnused; nullable m_oCount; }; class CPivotErrorValue : public WritingElementWithChilds { public: WritingElement_AdditionMethods(CPivotErrorValue) WritingElement_XlsbConstructors(CPivotErrorValue) CPivotErrorValue(){} virtual ~CPivotErrorValue() {} virtual void fromXML(XmlUtils::CXmlNode& node) { } virtual std::wstring toXML() const { return L""; } virtual void toXML(NSStringUtils::CStringBuilder& writer) const; virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); void fromBin(XLS::BaseObjectPtr& obj); XLS::BaseObjectPtr toBin(); void toBin(XLS::StreamCacheWriterPtr& writer); virtual EElementType getType () const { return et_x_PivotErrorValue; } void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); void ReadAttributes(XLS::BaseObjectPtr& obj); nullable_string m_oValue; nullable_string m_oCaption; nullable_bool m_oCalculated; nullable_bool m_oUnused; nullable m_oCount; nullable_bool m_oBold; nullable_bool m_oItalic; nullable_bool m_oStrike; nullable_bool m_oUnderline; nullable m_oBackColor; nullable m_oForeColor; nullable m_oFormatIndex; //tpls }; class CPivotNoValue : public WritingElementWithChilds { public: WritingElement_AdditionMethods(CPivotNoValue) WritingElement_XlsbConstructors(CPivotNoValue) CPivotNoValue(){} virtual ~CPivotNoValue() {} virtual void fromXML(XmlUtils::CXmlNode& node) { } virtual std::wstring toXML() const { return L""; } virtual void toXML(NSStringUtils::CStringBuilder& writer) const; virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); void fromBin(XLS::BaseObjectPtr& obj); XLS::BaseObjectPtr toBin(); virtual EElementType getType () const { return et_x_PivotNoValue; } void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); void ReadAttributes(XLS::BaseObjectPtr& obj); nullable_string m_oCaption; nullable_bool m_oCalculated; nullable_bool m_oUnused; nullable m_oCount; nullable_bool m_oBold; nullable_bool m_oItalic; nullable_bool m_oStrike; nullable_bool m_oUnderline; nullable m_oBackColor; nullable m_oForeColor; nullable m_oFormatIndex; //tpls }; } //Spreadsheet } // namespace OOX