diff options
author | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2015-04-15 00:21:21 +0200 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2015-04-15 08:59:12 +0200 |
commit | f7702d0b65c7acd5c5f78a550534469f8f912f26 (patch) | |
tree | 0b5eb7edfeec26046fad227f9e7287ecba2c143a /oox/source | |
parent | 8a6d5960d41cf50691f32082831b6406ff03b484 (diff) |
export missing value treatment to OOXML
Change-Id: I1a448e9c954a3851fe3590a0fae73ed5b27555f0
(cherry picked from commit e68ceaec43f0c0ff326064642072bb8f904e7e8a)
Diffstat (limited to 'oox/source')
-rw-r--r-- | oox/source/export/chartexport.cxx | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/oox/source/export/chartexport.cxx b/oox/source/export/chartexport.cxx index 3fdf45bd7f5d..9a2bb31f57f6 100644 --- a/oox/source/export/chartexport.cxx +++ b/oox/source/export/chartexport.cxx @@ -45,6 +45,7 @@ #include <com/sun/star/chart/ChartSolidType.hpp> #include <com/sun/star/chart/DataLabelPlacement.hpp> #include <com/sun/star/chart/ErrorBarStyle.hpp> +#include <com/sun/star/chart/MissingValueTreatment.hpp> #include <com/sun/star/chart2/XChartDocument.hpp> #include <com/sun/star/chart2/XDiagram.hpp> @@ -905,9 +906,44 @@ void ChartExport::exportChart( Reference< ::com::sun::star::chart::XChartDocumen XML_val, "1", FSEND ); + exportMissingValueTreatment(Reference<beans::XPropertySet>(mxDiagram, uno::UNO_QUERY)); + pFS->endElement( FSNS( XML_c, XML_chart ) ); } +void ChartExport::exportMissingValueTreatment(uno::Reference<beans::XPropertySet> xPropSet) +{ + if (!xPropSet.is()) + return; + + sal_Int32 nVal = 0; + uno::Any aAny = xPropSet->getPropertyValue("MissingValueTreatment"); + if (!(aAny >>= nVal)) + return; + + const char* pVal = NULL; + switch (nVal) + { + case cssc::MissingValueTreatment::LEAVE_GAP: + pVal = "gap"; + break; + case cssc::MissingValueTreatment::USE_ZERO: + pVal = "zero"; + break; + case cssc::MissingValueTreatment::CONTINUE: + pVal = "span"; + break; + default: + SAL_WARN("oox", "unknown MissingValueTreatment value"); + break; + } + + FSHelperPtr pFS = GetFS(); + pFS->singleElement( FSNS(XML_c, XML_dispBlanksAs), + XML_val, pVal, + FSEND); +} + void ChartExport::exportLegend( Reference< ::com::sun::star::chart::XChartDocument > rChartDoc ) { FSHelperPtr pFS = GetFS(); |