summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
authorTamás Zolnai <tamas.zolnai@collabora.com>2017-10-06 18:55:27 +0200
committerTamás Zolnai <tamas.zolnai@collabora.com>2017-10-06 20:59:18 +0200
commitbab595df78bd05a45f92aa15dca058f27b86d5be (patch)
tree72277cf0ec20bca2ddbbd9dc1c2fa1101dbe8354 /sc
parent141fe1c5e7fbf67a083b34e49e19b6ea78a0eb2b (diff)
tdf#112936: Pivot table: LO created XLSX file makes Excel to crash
It's not actually clear, why Excel crashes, but setting the version makes it working. I expect that this version number (which specifies MSO Excel versions) makes MSO to handle the pivot table differently. As the internal implementation of the pivot table was changed in different versions. The name "DATA" might had a special meaning in the earlier versions (e.g. XP, MSO 2000) which leads this crash. So setting the version to MSO 2007 seems a good solution for this. Older versions not seems a target of LO exported XLSX files in these days. Also smaller values leads to the crash described in the bug report. Change-Id: I6e9edc949d1670d657effff9277cfd86ff163458 Reviewed-on: https://gerrit.libreoffice.org/43208 Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com> Tested-by: Tamás Zolnai <tamas.zolnai@collabora.com>
Diffstat (limited to 'sc')
-rw-r--r--sc/source/filter/excel/xepivotxml.cxx1
1 files changed, 1 insertions, 0 deletions
diff --git a/sc/source/filter/excel/xepivotxml.cxx b/sc/source/filter/excel/xepivotxml.cxx
index 270066f76126..9bc8836a57f4 100644
--- a/sc/source/filter/excel/xepivotxml.cxx
+++ b/sc/source/filter/excel/xepivotxml.cxx
@@ -221,6 +221,7 @@ void XclExpXmlPivotCaches::SavePivotCacheXml( XclExpXmlStream& rStrm, const Entr
FSNS(XML_xmlns, XML_r), XclXmlUtils::ToOString(rStrm.getNamespaceURL(OOX_NS(officeRel))).getStr(),
FSNS(XML_r, XML_id), XclXmlUtils::ToOString(aRelId).getStr(),
XML_recordCount, OString::number(rEntry.mpCache->GetDataSize()).getStr(),
+ XML_createdVersion, "3", // MS Excel 2007, tdf#112936: setting version number makes MSO to handle the pivot table differently
FSEND);
if (rEntry.meType == Worksheet)