summaryrefslogtreecommitdiff
path: root/oox
diff options
context:
space:
mode:
authorBalazs Varga <balazs.varga991@gmail.com>2020-03-05 11:28:23 +0100
committerLászló Németh <nemeth@numbertext.org>2020-03-09 11:37:27 +0100
commit45413702b0b71ee56aee57d215b4041d3ea6067b (patch)
treea6593fb61ae69fd2b34edb164b6ee15997c558a6 /oox
parentabe39f7781f59b96c5a8d3dd5b41c60fdf04ad84 (diff)
tdf#131143 OOXML chart: fix missing data points of scatter chart
If "values-x" property is empty, export X-Y (scatter) chart category labels in c:xVal/c:strRef/c:strCache/c:pt/c:v to avoid missing data points at next import. Change-Id: Ib5ed99bd1186bd1cfa3e2559aff1c8d214547017 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90011 Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org>
Diffstat (limited to 'oox')
-rw-r--r--oox/source/export/chartexport.cxx10
1 files changed, 6 insertions, 4 deletions
diff --git a/oox/source/export/chartexport.cxx b/oox/source/export/chartexport.cxx
index cf586257ccf7..aecfe3948d33 100644
--- a/oox/source/export/chartexport.cxx
+++ b/oox/source/export/chartexport.cxx
@@ -2304,6 +2304,8 @@ void ChartExport::exportSeries( const Reference<chart2::XChartType>& xChartType,
if( xValues.is() )
exportSeriesValues( xValues, XML_xVal );
}
+ else if( mxCategoriesValues.is() )
+ exportSeriesCategory( mxCategoriesValues, XML_xVal );
}
if( eChartType == chart::TYPEID_BUBBLE )
@@ -2429,13 +2431,13 @@ void ChartExport::exportSeriesText( const Reference< chart2::data::XDataSequence
pFS->endElement( FSNS( XML_c, XML_tx ) );
}
-void ChartExport::exportSeriesCategory( const Reference< chart2::data::XDataSequence > & xValueSeq )
+void ChartExport::exportSeriesCategory( const Reference< chart2::data::XDataSequence > & xValueSeq, sal_Int32 nValueType )
{
FSHelperPtr pFS = GetFS();
- pFS->startElement(FSNS(XML_c, XML_cat));
+ pFS->startElement(FSNS(XML_c, nValueType));
OUString aCellRange = xValueSeq.is() ? xValueSeq->getSourceRangeRepresentation() : OUString();
- const Sequence< Sequence< OUString >> aFinalSplitSource = getSplitCategoriesList(aCellRange);
+ const Sequence< Sequence< OUString >> aFinalSplitSource = (nValueType == XML_cat) ? getSplitCategoriesList(aCellRange) : Sequence< Sequence< OUString>>(0);
aCellRange = parseFormula( aCellRange );
if(aFinalSplitSource.getLength() > 1)
@@ -2496,7 +2498,7 @@ void ChartExport::exportSeriesCategory( const Reference< chart2::data::XDataSequ
pFS->endElement(FSNS(XML_c, XML_strRef));
}
- pFS->endElement( FSNS( XML_c, XML_cat ) );
+ pFS->endElement( FSNS( XML_c, nValueType ) );
}
void ChartExport::exportSeriesValues( const Reference< chart2::data::XDataSequence > & xValueSeq, sal_Int32 nValueType )