Files
DocumentServer-v-9.2.0/core/OOXML/Binary/Sheets/Reader/ChartFromToBinary.h
Yajbir Singh f1b860b25c
Some checks failed
check / markdownlint (push) Has been cancelled
check / spellchecker (push) Has been cancelled
updated
2025-12-11 19:03:17 +05:30

518 lines
28 KiB
C++

/*
* (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 "CommonWriter.h"
#include "../../../XlsxFormat/Chart/ChartSerialize.h"
#include "../Writer/BinaryCommonReader.h"
#include "../../../PPTXFormat/DrawingConverter/ASCOfficeDrawingConverter.h"
#include "../../Sheets/Writer/CSVWriter.h"
namespace OOX
{
namespace Spreadsheet
{
class CChartFile;
class CChartStyleFile;
class CChartColorsFile;
class CChartExFile;
namespace ChartEx
{
class CChartData;
class CChart;
class CData;
class CExternalData;
class CStrDimension;
class CNumDimension;
class CNumericLevel;
class CStringLevel;
class CNumericValue;
class CStringValue;
class CFormula;
class CPlotArea;
class CTitle;
class CLegend;
class CPlotAreaRegion;
class CAxis;
class CText;
class CTextData;
class CPlotSurface;
class CSeries;
class CDataPoint;
class CDataLabels;
class CDataLabel;
class CDataLabelHidden;
class CSeriesLayoutProperties;
class CNumberFormat;
class CDataLabelVisibilities;
class CBinning;
class CStatistics;
class CSubtotals;
class CSeriesElementVisibilities;
class CCatScaling;
class CValScaling;
class CAxisUnit;
class CTickMarks;
class CGridlines;
class CAxisUnitsLabel;
}
}
namespace Drawing
{
class COfficeArtExtensionList;
}
class CSizeAnchor;
class CFromTo;
class CExt;
}
namespace BinXlsxRW
{
struct SaveParams
{
SaveParams(const std::wstring& _sDrawingsPath, const std::wstring& _sEmbeddingsPath, const std::wstring& _sThemePath, OOX::CContentTypes *pContentTypes, CSVWriter* pCSVWriter = NULL, bool bMacro = false);
smart_ptr<PPTX::Theme> pTheme;
std::wstring sThemePath;
std::wstring sDrawingsPath;
std::wstring sEmbeddingsPath;
OOX::CContentTypes* pContentTypes = NULL;
CSVWriter* pCSVWriter = NULL;
bool bMacroEnabled = false;
};
class BinaryChartReader : public Binary_CommonReader
{
NSBinPptxRW::CDrawingConverter* m_pOfficeDrawingConverter;
SaveParams& m_oSaveParams;
public:
BinaryChartReader (NSBinPptxRW::CBinaryFileReader& oBufferedStream, SaveParams& oSaveParams, NSBinPptxRW::CDrawingConverter* pOfficeDrawingConverter);
int ReadCT_ChartFile (long length, OOX::Spreadsheet::CChartFile* poResult);
int ReadCT_ChartExFile (long length, OOX::Spreadsheet::CChartExFile* poResult);
private:
int ReadCT_Boolean (BYTE type, long length, void* poResult);
int ReadCT_Double (BYTE type, long length, void* poResult);
int ReadCT_UnsignedInt (BYTE type, long length, void* poResult);
int ReadCT_String (BYTE type, long length, void* poResult);
int ReadCT_UnsignedByte (BYTE type, long length, void* poResult);
int ReadCT_SignedByte (BYTE type, long length, void* poResult);
int ReadCT_ChartColors (BYTE type, long length, void* poResult);
int ReadCT_ColorsVariation (BYTE type, long length, void* poResult);
int ReadCT_ChartStyle (BYTE type, long length, void* poResult);
int ReadCT_StyleEntry (BYTE type, long length, void* poResult);
int ReadCT_StyleMarkerLayout (BYTE type, long length, void* poResult);
int ReadCT_ChartFileContent (BYTE type, long length, void* poResult);
int ReadCT_PageSetup (BYTE type, long length, void* poResult);
int ReadCT_PageMargins (BYTE type, long length, void* poResult);
int ReadCT_HeaderFooter (BYTE type, long length, void* poResult);
int ReadCT_PrintSettings (BYTE type, long length, void* poResult);
int ReadCT_ExternalData (BYTE type, long length, void* poResult);
int ReadCT_DispBlanksAs (BYTE type, long length, void* poResult);
int ReadCT_LegendEntry (BYTE type, long length, void* poResult);
int ReadCT_LegendPos (BYTE type, long length, void* poResult);
int ReadCT_Legend (BYTE type, long length, void* poResult);
int ReadCT_Layout (BYTE type, long length, void* poResult);
int ReadCT_ManualLayout (BYTE type, long length, void* poResult);
int ReadCT_LayoutTarget (BYTE type, long length, void* poResult);
int ReadCT_LayoutMode (BYTE type, long length, void* poResult);
int ReadCT_DTable (BYTE type, long length, void* poResult);
int ReadCT_SerAx (BYTE type, long length, void* poResult);
int ReadCT_Scaling (BYTE type, long length, void* poResult);
int ReadCT_Orientation (BYTE type, long length, void* poResult);
int ReadCT_AxPos (BYTE type, long length, void* poResult);
int ReadCT_ChartLines (BYTE type, long length, void* poResult);
int ReadCT_Title (BYTE type, long length, void* poResult);
int ReadCT_Tx (BYTE type, long length, void* poResult);
int ReadCT_StrRef (BYTE type, long length, void* poResult);
int ReadCT_StrData (BYTE type, long length, void* poResult);
int ReadCT_StrVal (BYTE type, long length, void* poResult);
int ReadCT_NumFmt (BYTE type, long length, void* poResult);
int ReadCT_TickMark (BYTE type, long length, void* poResult);
int ReadCT_TickLblPos (BYTE type, long length, void* poResult);
int ReadCT_Crosses (BYTE type, long length, void* poResult);
int ReadCT_TimeUnit (BYTE type, long length, void* poResult);
int ReadCT_DateAx (BYTE type, long length, void* poResult);
int ReadCT_LblAlgn (BYTE type, long length, void* poResult);
int ReadCT_CatAx (BYTE type, long length, void* poResult);
int ReadCT_DispUnitsLbl (BYTE type, long length, void* poResult);
int ReadCT_BuiltInUnit (BYTE type, long length, void* poResult);
int ReadCT_DispUnits (BYTE type, long length, void* poResult);
int ReadCT_CrossBetween (BYTE type, long length, void* poResult);
int ReadCT_ValAx (BYTE type, long length, void* poResult);
int ReadCT_SizeRepresents (BYTE type, long length, void* poResult);
int ReadCT_BubbleSer (BYTE type, long length, void* poResult);
int ReadCT_SerTx (BYTE type, long length, void* poResult);
int ReadCT_DPt (BYTE type, long length, void* poResult);
int ReadCT_Marker (BYTE type, long length, void* poResult);
int ReadCT_MarkerStyle (BYTE type, long length, void* poResult);
int ReadCT_PictureOptions (BYTE type, long length, void* poResult);
int ReadCT_PictureFormat (BYTE type, long length, void* poResult);
int ReadCT_DLbls (BYTE type, long length, void* poResult);
int ReadCT_DLbl (BYTE type, long length, void* poResult);
int ReadCT_DLblPos (BYTE type, long length, void* poResult);
int ReadCT_Trendline (BYTE type, long length, void* poResult);
int ReadCT_TrendlineType (BYTE type, long length, void* poResult);
int ReadCT_TrendlineLbl (BYTE type, long length, void* poResult);
int ReadCT_ErrBars (BYTE type, long length, void* poResult);
int ReadCT_ErrDir (BYTE type, long length, void* poResult);
int ReadCT_ErrBarType (BYTE type, long length, void* poResult);
int ReadCT_ErrValType (BYTE type, long length, void* poResult);
int ReadCT_NumDataSource (BYTE type, long length, void* poResult);
int ReadCT_NumData (BYTE type, long length, void* poResult);
int ReadCT_NumVal (BYTE type, long length, void* poResult);
int ReadCT_NumRef (BYTE type, long length, void* poResult);
int ReadCT_AxDataSource (BYTE type, long length, void* poResult);
int ReadCT_MultiLvlStrRef (BYTE type, long length, void* poResult);
int ReadCT_lvl (BYTE type, long length, void* poResult);
int ReadCT_MultiLvlStrData (BYTE type, long length, void* poResult);
int ReadCT_BubbleChart (BYTE type, long length, void* poResult);
int ReadCT_bandFmts (BYTE type, long length, void* poResult);
int ReadCT_Surface3DChart (BYTE type, long length, void* poResult);
int ReadCT_SurfaceSer (BYTE type, long length, void* poResult);
int ReadCT_BandFmt (BYTE type, long length, void* poResult);
int ReadCT_SurfaceChart (BYTE type, long length, void* poResult);
int ReadCT_SplitType (BYTE type, long length, void* poResult);
int ReadCT_OfPieType (BYTE type, long length, void* poResult);
int ReadCT_custSplit (BYTE type, long length, void* poResult);
int ReadCT_OfPieChart (BYTE type, long length, void* poResult);
int ReadCT_PieSer (BYTE type, long length, void* poResult);
int ReadCT_Bar3DChart (BYTE type, long length, void* poResult);
int ReadCT_BarDir (BYTE type, long length, void* poResult);
int ReadCT_BarGrouping (BYTE type, long length, void* poResult);
int ReadCT_BarSer (BYTE type, long length, void* poResult);
int ReadCT_Shape (BYTE type, long length, void* poResult);
int ReadCT_BarChart (BYTE type, long length, void* poResult);
int ReadCT_DoughnutChart (BYTE type, long length, void* poResult);
int ReadCT_Pie3DChart (BYTE type, long length, void* poResult);
int ReadCT_PieChart (BYTE type, long length, void* poResult);
int ReadCT_ScatterSer (BYTE type, long length, void* poResult);
int ReadCT_ScatterStyle (BYTE type, long length, void* poResult);
int ReadCT_ScatterChart (BYTE type, long length, void* poResult);
int ReadCT_RadarSer (BYTE type, long length, void* poResult);
int ReadCT_RadarStyle (BYTE type, long length, void* poResult);
int ReadCT_RadarChart (BYTE type, long length, void* poResult);
int ReadCT_StockChart (BYTE type, long length, void* poResult);
int ReadCT_LineSer (BYTE type, long length, void* poResult);
int ReadCT_UpDownBars (BYTE type, long length, void* poResult);
int ReadCT_UpDownBar (BYTE type, long length, void* poResult);
int ReadCT_Line3DChart (BYTE type, long length, void* poResult);
int ReadCT_Grouping (BYTE type, long length, void* poResult);
int ReadCT_LineChart (BYTE type, long length, void* poResult);
int ReadCT_Area3DChart (BYTE type, long length, void* poResult);
int ReadCT_AreaSer (BYTE type, long length, void* poResult);
int ReadCT_AreaChart (BYTE type, long length, void* poResult);
int ReadCT_PlotArea (BYTE type, long length, void* poResult);
int ReadCT_Surface (BYTE type, long length, void* poResult);
int ReadCT_View3D (BYTE type, long length, void* poResult);
int ReadCT_PivotFmt (BYTE type, long length, void* poResult);
int ReadCT_pivotFmts (BYTE type, long length, void* poResult);
int ReadCT_Chart (BYTE type, long length, void* poResult);
int ReadCT_Protection (BYTE type, long length, void* poResult);
int ReadCT_PivotSource (BYTE type, long length, void* poResult);
int ReadCT_Style (BYTE type, long length, void* poResult);
int ReadAlternateContent (BYTE type, long length, void* poResult);
int ReadAlternateContentChoice (BYTE type, long length, void* poResult);
int ReadAlternateContentFallback(BYTE type, long length, void* poResult);
int ReadCT_PptxElement (BYTE type, long length, void* poResult);
int ReadCT_ChartExternalReference(BYTE type, long length, void* poResult);
int ReadExtensions (BYTE type, long length, void* poResult);
int ReadCT_ChartFiltering (BYTE type, long length, void* poResult);
int ReadCT_filterExceptions (BYTE type, long length, void* poResult);
int ReadCT_filterException (BYTE type, long length, void* poResult);
int ReadCT_dataLabelsRange (BYTE type, long length, void* poResult);
int ReadCT_userShapes (BYTE type, long length, void* poResult);
int ReadCT_userShape (BYTE type, long length, void* poResult);
int ReadCT_FromTo (BYTE type, long length, void* poResult);
int ReadCT_Ext (BYTE type, long length, void* poResult);
int ReadCT_XlsxBin (BYTE *pData, long length, NSCommon::smart_ptr<OOX::Media> & file);
int ReadCT_XlsxZip (BYTE* pData, long length, NSCommon::smart_ptr<OOX::Media>& file);
int ReadCT_ChartExFileContent (BYTE type, long length, void* poResult);
int ReadCT_ChartExChart (BYTE type, long length, void* poResult);
int ReadCT_ChartExChartData (BYTE type, long length, void* poResult);
int ReadCT_ChartExData (BYTE type, long length, void* poResult);
int ReadCT_ChartExExternalData (BYTE type, long length, void* poResult);
int ReadCT_ChartExDataStrDimension (BYTE type, long length, void* poResult);
int ReadCT_ChartExDataNumDimension (BYTE type, long length, void* poResult);
int ReadCT_ChartExFormula (BYTE type, long length, void* poResult);
int ReadCT_ChartExStringLevel (BYTE type, long length, void* poResult);
int ReadCT_ChartExNumericLevel (BYTE type, long length, void* poResult);
int ReadCT_ChartExStringValue (BYTE type, long length, void* poResult);
int ReadCT_ChartExNumericValue (BYTE type, long length, void* poResult);
int ReadCT_ChartExPlotArea(BYTE type, long length, void* poResult);
int ReadCT_ChartExPlotAreaRegion(BYTE type, long length, void* poResult);
int ReadCT_ChartExTitle(BYTE type, long length, void* poResult);
int ReadCT_ChartExLegend(BYTE type, long length, void* poResult);
int ReadCT_ChartExText(BYTE type, long length, void* poResult);
int ReadCT_ChartExTextData(BYTE type, long length, void* poResult);
int ReadCT_ChartExPlotSurface(BYTE type, long length, void* poResult);
int ReadCT_ChartExSeries(BYTE type, long length, void* poResult);
int ReadCT_ChartExDataPoint(BYTE type, long length, void* poResult);
int ReadCT_ChartExDataLabels(BYTE type, long length, void* poResult);
int ReadCT_ChartExDataLabel(BYTE type, long length, void* poResult);
int ReadCT_ChartExDataLabelHidden(BYTE type, long length, void* poResult);
int ReadCT_ChartExSeriesLayoutProperties(BYTE type, long length, void* poResult);
int ReadCT_ChartExNumberFormat(BYTE type, long length, void* poResult);
int ReadCT_ChartExDataLabelVisibilities(BYTE type, long length, void* poResult);
int ReadCT_ChartExBinning(BYTE type, long length, void* poResult);
int ReadCT_ChartExStatistics(BYTE type, long length, void* poResult);
int ReadCT_ChartExSubtotals(BYTE type, long length, void* poResult);
int ReadCT_ChartExSeriesElementVisibilities(BYTE type, long length, void* poResult);
int ReadCT_ChartExAxis(BYTE type, long length, void* poResult);
int ReadCT_ChartExCatScaling(BYTE type, long length, void* poResult);
int ReadCT_ChartExValScaling(BYTE type, long length, void* poResult);
int ReadCT_ChartExAxisUnit(BYTE type, long length, void* poResult);
int ReadCT_ChartExTickMarks(BYTE type, long length, void* poResult);
int ReadCT_ChartExGridlines(BYTE type, long length, void* poResult);
int ReadCT_ChartExAxisUnitsLabel(BYTE type, long length, void* poResult);
};
class BinaryChartWriter
{
NSBinPptxRW::CDrawingConverter* m_pOfficeDrawingConverter;
BinaryCommonWriter m_oBcw;
public:
BinaryChartWriter (NSBinPptxRW::CBinaryFileWriter &oCBufferedStream, NSBinPptxRW::CDrawingConverter* pOfficeDrawingConverter);
void WriteCT_ChartFile (OOX::Spreadsheet::CChartFile& oChartFile);
void WriteAlternateContent (OOX::Spreadsheet::AlternateContent& oVal);
void WriteAlternateContentChoice (OOX::Spreadsheet::AlternateContentChoice& oVal);
void WriteAlternateContentFallback (OOX::Spreadsheet::AlternateContentFallback& oVal);
//-------------------------------------------------------------------------------------------------------------
void WriteCT_ChartStyle(OOX::Spreadsheet::CChartStyleFile & oVal);
//-------------------------------------------------------------------------------------------------------------
void WriteCT_ChartColor(OOX::Spreadsheet::CChartColorsFile & oVal);
//-------------------------------------------------------------------------------------------------------------
void WriteCT_ChartExFile(OOX::Spreadsheet::CChartExFile & oChartFile);
private:
void WriteCT_AxPos(OOX::Spreadsheet::CAxPos& oVal);
void WriteCT_LegendPos(OOX::Spreadsheet::CLegendPos& oVal);
void WriteCT_DispBlanksAs(OOX::Spreadsheet::CDispBlanksAs& oVal);
void WriteCT_ErrDir(OOX::Spreadsheet::CErrDir& oVal);
void WriteCT_ErrBarType(OOX::Spreadsheet::CErrBarType& oVal);
void WriteCT_ErrValType(OOX::Spreadsheet::CErrValType& oVal);
void WriteCT_LayoutTarget(OOX::Spreadsheet::CLayoutTarget& oVal);
void WriteCT_LayoutMode(OOX::Spreadsheet::CLayoutMode& oVal);
void WriteCT_Orientation(OOX::Spreadsheet::COrientation& oVal);
void WriteCT_TickMark(OOX::Spreadsheet::CTickMark& oVal);
void WriteCT_TickLblPos(OOX::Spreadsheet::CTickLblPos& oVal);
void WriteCT_Crosses(OOX::Spreadsheet::CCrosses& oVal);
void WriteCT_TimeUnit(OOX::Spreadsheet::CTimeUnit& oVal);
void WriteCT_LblAlgn(OOX::Spreadsheet::CLblAlgn& oVal);
void WriteCT_BuiltInUnit(OOX::Spreadsheet::CBuiltInUnit& oVal);
void WriteCT_CrossBetween(OOX::Spreadsheet::CCrossBetween& oVal);
void WriteCT_SizeRepresents(OOX::Spreadsheet::CSizeRepresents& oVal);
void WriteCT_PictureFormat(OOX::Spreadsheet::CPictureFormat& oVal);
void WriteCT_MarkerStyle(OOX::Spreadsheet::CMarkerStyle& oVal);
void WriteCT_DLblPos(OOX::Spreadsheet::CDLblPos& oVal);
void WriteCT_TrendlineType(OOX::Spreadsheet::CTrendlineType& oVal);
void WriteCT_SplitType(OOX::Spreadsheet::CSplitType& oVal);
void WriteCT_OfPieType(OOX::Spreadsheet::COfPieType& oVal);
void WriteCT_BarDir(OOX::Spreadsheet::CBarDir& oVal);
void WriteCT_BarGrouping(OOX::Spreadsheet::CBarGrouping& oVal);
void WriteCT_Shape(OOX::Spreadsheet::CShapeType& oVal);
void WriteCT_ScatterStyle(OOX::Spreadsheet::CScatterStyle& oVal);
void WriteCT_RadarStyle(OOX::Spreadsheet::CRadarStyle& oVal);
void WriteCT_Grouping(OOX::Spreadsheet::CGrouping& oVal);
void WriteCT_SignedByte(char oVal);
void WriteCT_UnsignedByte(unsigned char oVal);
void WriteCT_UnsignedInt(unsigned int oVal);
void WriteCT_Boolean(bool oVal);
void WriteCT_Double(double oVal);
void WriteCT_String(std::wstring oVal);
void WriteCT_PageSetup(OOX::Spreadsheet::CT_PageSetup& oVal);
void WriteCT_PageMargins(OOX::Spreadsheet::CT_PageMargins& oVal);
void WriteCT_HeaderFooter(OOX::Spreadsheet::CT_HeaderFooter& oVal);
void WriteCT_PrintSettings(OOX::Spreadsheet::CT_PrintSettings& oVal);
void WriteCT_ExternalData(OOX::Spreadsheet::CT_ExternalData& oVal);
void WriteCT_LegendEntry(OOX::Spreadsheet::CT_LegendEntry& oVal);
void WriteCT_Legend(OOX::Spreadsheet::CT_Legend& oVal);
void WriteCT_Layout(OOX::Spreadsheet::CT_Layout& oVal);
void WriteCT_ManualLayout(OOX::Spreadsheet::CT_ManualLayout& oVal);
void WriteCT_DTable(OOX::Spreadsheet::CT_DTable& oVal);
void WriteCT_SerAx(OOX::Spreadsheet::CT_SerAx& oVal);
void WriteCT_Scaling(OOX::Spreadsheet::CT_Scaling& oVal);
void WriteCT_ChartLines(OOX::Spreadsheet::CT_ChartLines& oVal, bool bExt = false);
void WriteCT_Title(OOX::Spreadsheet::CT_Title& oVal);
void WriteCT_Tx(OOX::Spreadsheet::CT_Tx& oVal);
void WriteCT_StrRef(OOX::Spreadsheet::CT_StrRef& oVal);
void WriteCT_StrData(OOX::Spreadsheet::CT_StrData& oVal);
void WriteCT_StrVal(OOX::Spreadsheet::CT_StrVal& oVal);
void WriteCT_NumFmt(OOX::Spreadsheet::CT_NumFmt& oVal);
void WriteCT_DateAx(OOX::Spreadsheet::CT_DateAx& oVal);
void WriteCT_CatAx(OOX::Spreadsheet::CT_CatAx& oVal);
void WriteCT_DispUnitsLbl(OOX::Spreadsheet::CT_DispUnitsLbl& oVal);
void WriteCT_DispUnits(OOX::Spreadsheet::CT_DispUnits& oVal);
void WriteCT_ValAx(OOX::Spreadsheet::CT_ValAx& oVal);
void WriteCT_BubbleSer(OOX::Spreadsheet::CT_BubbleSer& oVal);
void WriteCT_SerTx(OOX::Spreadsheet::CT_SerTx& oVal);
void WriteCT_DPt(OOX::Spreadsheet::CT_DPt& oVal);
void WriteCT_Marker(OOX::Spreadsheet::CT_Marker& oVal);
void WriteCT_PictureOptions(OOX::Spreadsheet::CT_PictureOptions& oVal);
void WriteCT_DLbls(OOX::Spreadsheet::CT_DLbls& oVal);
void WriteCT_DLbl(OOX::Spreadsheet::CT_DLbl& oVal);
void WriteCT_Trendline(OOX::Spreadsheet::CT_Trendline& oVal);
void WriteCT_TrendlineLbl(OOX::Spreadsheet::CT_TrendlineLbl& oVal);
void WriteCT_ErrBars(OOX::Spreadsheet::CT_ErrBars& oVal);
void WriteCT_NumDataSource(OOX::Spreadsheet::CT_NumDataSource& oVal);
void WriteCT_NumData(OOX::Spreadsheet::CT_NumData& oVal);
void WriteCT_NumVal(OOX::Spreadsheet::CT_NumVal& oVal);
void WriteCT_NumRef(OOX::Spreadsheet::CT_NumRef& oVal);
void WriteCT_AxDataSource(OOX::Spreadsheet::CT_AxDataSource& oVal);
void WriteCT_MultiLvlStrRef(OOX::Spreadsheet::CT_MultiLvlStrRef& oVal);
void WriteCT_lvl(OOX::Spreadsheet::CT_lvl& oVal);
void WriteCT_MultiLvlStrData(OOX::Spreadsheet::CT_MultiLvlStrData& oVal);
void WriteCT_BubbleChart(OOX::Spreadsheet::CT_BubbleChart& oVal);
void WriteCT_bandFmts(OOX::Spreadsheet::CT_bandFmts& oVal);
void WriteCT_Surface3DChart(OOX::Spreadsheet::CT_Surface3DChart& oVal);
void WriteCT_SurfaceSer(OOX::Spreadsheet::CT_SurfaceSer& oVal);
void WriteCT_BandFmt(OOX::Spreadsheet::CT_BandFmt& oVal);
void WriteCT_SurfaceChart(OOX::Spreadsheet::CT_SurfaceChart& oVal);
void WriteCT_custSplit(OOX::Spreadsheet::CT_custSplit& oVal);
void WriteCT_OfPieChart(OOX::Spreadsheet::CT_OfPieChart& oVal);
void WriteCT_PieSer(OOX::Spreadsheet::CT_PieSer& oVal);
void WriteCT_Bar3DChart(OOX::Spreadsheet::CT_Bar3DChart& oVal);
void WriteCT_BarSer(OOX::Spreadsheet::CT_BarSer& oVal);
void WriteCT_BarChart(OOX::Spreadsheet::CT_BarChart& oVal);
void WriteCT_DoughnutChart(OOX::Spreadsheet::CT_DoughnutChart& oVal);
void WriteCT_Pie3DChart(OOX::Spreadsheet::CT_Pie3DChart& oVal);
void WriteCT_PieChart(OOX::Spreadsheet::CT_PieChart& oVal);
void WriteCT_ScatterSer(OOX::Spreadsheet::CT_ScatterSer& oVal);
void WriteCT_ScatterChart(OOX::Spreadsheet::CT_ScatterChart& oVal);
void WriteCT_RadarSer(OOX::Spreadsheet::CT_RadarSer& oVal);
void WriteCT_RadarChart(OOX::Spreadsheet::CT_RadarChart& oVal);
void WriteCT_StockChart(OOX::Spreadsheet::CT_StockChart& oVal);
void WriteCT_LineSer(OOX::Spreadsheet::CT_LineSer& oVal);
void WriteCT_UpDownBars(OOX::Spreadsheet::CT_UpDownBars& oVal);
void WriteCT_UpDownBar(OOX::Spreadsheet::CT_UpDownBar& oVal);
void WriteCT_Line3DChart(OOX::Spreadsheet::CT_Line3DChart& oVal);
void WriteCT_LineChart(OOX::Spreadsheet::CT_LineChart& oVal);
void WriteCT_Area3DChart(OOX::Spreadsheet::CT_Area3DChart& oVal);
void WriteCT_AreaSer(OOX::Spreadsheet::CT_AreaSer& oVal);
void WriteCT_AreaChart(OOX::Spreadsheet::CT_AreaChart& oVal);
void WriteCT_PlotArea(OOX::Spreadsheet::CT_PlotArea& oVal);
void WriteCT_Surface(OOX::Spreadsheet::CT_Surface& oVal);
void WriteCT_View3D(OOX::Spreadsheet::CT_View3D& oVal);
void WriteCT_PivotFmt(OOX::Spreadsheet::CT_PivotFmt& oVal);
void WriteCT_pivotFmts(OOX::Spreadsheet::CT_pivotFmts& oVal);
void WriteCT_Chart(OOX::Spreadsheet::CT_Chart& oVal);
void WriteCT_Protection(OOX::Spreadsheet::CT_Protection& oVal);
void WriteCT_PivotSource(OOX::Spreadsheet::CT_PivotSource& oVal);
void WriteCT_Style(OOX::Spreadsheet::CT_Style& oVal);
void WriteCT_Shape (OOX::CSizeAnchor* pVal);
void WriteCT_FromTo (OOX::CFromTo& oFromTo);
void WriteCT_Ext (OOX::CExt& oExt);
void WriteCT_Variation(OOX::Spreadsheet::ChartEx::CVariation & oVal);
void WriteCT_StyleEntry(OOX::Spreadsheet::ChartEx::CStyleEntry & oVal);
void WriteCT_MarkerLayout(OOX::Spreadsheet::ChartEx::CMarkerLayout & oVal);
void WriteCT_ChartExChartData(OOX::Spreadsheet::ChartEx::CChartData *pVal);
void WriteCT_ChartExChart(OOX::Spreadsheet::ChartEx::CChart *pVal);
void WriteCT_ChartExData(OOX::Spreadsheet::ChartEx::CData * pVal);
void WriteCT_ChartExExternalData(OOX::Spreadsheet::ChartEx::CExternalData *pVal);
void WriteCT_ChartExDataDimension(OOX::Spreadsheet::ChartEx::CStrDimension *pVal);
void WriteCT_ChartExDataDimension(OOX::Spreadsheet::ChartEx::CNumDimension *pVal);
void WriteCT_ChartExFormula(OOX::Spreadsheet::ChartEx::CFormula *pVal);
void WriteCT_ChartExStringLevel(OOX::Spreadsheet::ChartEx::CStringLevel *pVal);
void WriteCT_ChartExNumericLevel(OOX::Spreadsheet::ChartEx::CNumericLevel *pVal);
void WriteCT_ChartExStringValue(OOX::Spreadsheet::ChartEx::CStringValue *pVal);
void WriteCT_ChartExNumericValue(OOX::Spreadsheet::ChartEx::CNumericValue *pVal);
void WriteCT_ChartExPlotArea(OOX::Spreadsheet::ChartEx::CPlotArea*pVal);
void WriteCT_ChartExTitle(OOX::Spreadsheet::ChartEx::CTitle *pVal);
void WriteCT_ChartExLegend(OOX::Spreadsheet::ChartEx::CLegend *pVal);
void WriteCT_ChartExPlotAreaRegion(OOX::Spreadsheet::ChartEx::CPlotAreaRegion *pVal);
void WriteCT_ChartExAxis(OOX::Spreadsheet::ChartEx::CAxis *pVal);
void WriteCT_ChartExText(OOX::Spreadsheet::ChartEx::CText *pVal);
void WriteCT_ChartExTextData(OOX::Spreadsheet::ChartEx::CTextData *pVal);
void WriteCT_ChartExPlotSurface(OOX::Spreadsheet::ChartEx::CPlotSurface *pVal);
void WriteCT_ChartExSeries(OOX::Spreadsheet::ChartEx::CSeries *pVal);
void WriteCT_ChartExDataPoint(OOX::Spreadsheet::ChartEx::CDataPoint *pVal);
void WriteCT_ChartExDataLabels(OOX::Spreadsheet::ChartEx::CDataLabels *pVal);
void WriteCT_ChartExDataLabel(OOX::Spreadsheet::ChartEx::CDataLabel *pVal);
void WriteCT_ChartExDataLabelHidden(OOX::Spreadsheet::ChartEx::CDataLabelHidden *pVal);
void WriteCT_ChartExSeriesLayoutProperties(OOX::Spreadsheet::ChartEx::CSeriesLayoutProperties *pVal);
void WriteCT_ChartExNumberFormat(OOX::Spreadsheet::ChartEx::CNumberFormat *pVal);
void WriteCT_ChartExDataLabelVisibilities(OOX::Spreadsheet::ChartEx::CDataLabelVisibilities *pVal);
void WriteCT_ChartExBinning(OOX::Spreadsheet::ChartEx::CBinning *pVal);
void WriteCT_ChartExStatistics(OOX::Spreadsheet::ChartEx::CStatistics *pVal);
void WriteCT_ChartExSubtotals(OOX::Spreadsheet::ChartEx::CSubtotals *pVal);
void WriteCT_ChartExSeriesElementVisibilities(OOX::Spreadsheet::ChartEx::CSeriesElementVisibilities *pVal);
void WriteCT_ChartExCatScaling(OOX::Spreadsheet::ChartEx::CCatScaling *pVal);
void WriteCT_ChartExValScaling(OOX::Spreadsheet::ChartEx::CValScaling *pVal);
void WriteCT_ChartExAxisUnit(OOX::Spreadsheet::ChartEx::CAxisUnit *pVal);
void WriteCT_ChartExTickMarks(OOX::Spreadsheet::ChartEx::CTickMarks *pVal);
void WriteCT_ChartExGridlines(OOX::Spreadsheet::ChartEx::CGridlines *pVal);
void WriteCT_ChartExAxisUnitsLabel(OOX::Spreadsheet::ChartEx::CAxisUnitsLabel *pVal);
void WriteExtensions(OOX::Drawing::COfficeArtExtensionList *pVal);
void WriteChartFiltering(OOX::Spreadsheet::CSeriesFiltering *pVal);
void WriteDataLabelsRange(OOX::Spreadsheet::CSeriesDataLabelsRange *pVal);
void WriteFilteredSeriesTitle(OOX::Spreadsheet::CT_Tx *pVal);
void WriteFilteredCategoryTitle(OOX::Spreadsheet::CT_AxDataSource *pVal);
void WriteFilteredLineSeries(OOX::Spreadsheet::CT_LineSer *pVal);
void WriteFilteredScatterSeries(OOX::Spreadsheet::CT_ScatterSer *pVal);
void WriteFilteredRadarSeries(OOX::Spreadsheet::CT_RadarSer *pVal);
void WriteFilteredBarSeries(OOX::Spreadsheet::CT_BarSer *pVal);
void WriteFilteredAreaSeries(OOX::Spreadsheet::CT_AreaSer *pVal);
void WriteFilteredBubbleSeries(OOX::Spreadsheet::CT_BubbleSer *pVal);
void WriteFilteredSurfaceSeries(OOX::Spreadsheet::CT_SurfaceSer *pVal);
void WriteFilteredPieSeries(OOX::Spreadsheet::CT_PieSer *pVal);
void WriteFullRef(const std::wstring & ref);
void WriteLevelRef(const std::wstring & ref);
void WriteFormulaRef(const std::wstring & ref);
void WriteCategoryFilterExceptions(OOX::Spreadsheet::CCategoryFilterExceptions *pVal);
void WriteCategoryFilterException(OOX::Spreadsheet::CCategoryFilterException *pVal);
void toBin(OOX::Spreadsheet::ItemsChoiceType5 eType, void* pVal);
void toBin(OOX::Spreadsheet::ItemsChoiceType6 eType, void* pVal);
void toBin(OOX::Spreadsheet::ItemsChoiceType4 eType, void* pVal);
void toBin(OOX::Spreadsheet::ItemsChoiceType3 eType, void* pVal);
};
}