sc/qa/unit/data/xlsx/tdf100034.xlsx |binary sc/qa/unit/subsequent_export_test4.cxx | 16 ++++++++++++++++ sc/source/filter/excel/xename.cxx | 5 +++++ 3 files changed, 21 insertions(+)
New commits: commit 639519dc2bad058197b6ff73c9e3df622f979f97 Author: Czeber László Ádám <czeber.laszloa...@nisz.hu> AuthorDate: Mon May 22 09:58:29 2023 +0200 Commit: László Németh <nem...@numbertext.org> CommitDate: Tue May 23 12:15:56 2023 +0200 tdf#100034: Fix to persistently remove print-range Don't save print range if the builtin index is unknow and sheet index is vaild (this is a deleted range). Change-Id: I10dfa98ad4f24d0f5958053974bd75cb19c85147 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152081 Tested-by: László Németh <nem...@numbertext.org> Reviewed-by: László Németh <nem...@numbertext.org> diff --git a/sc/qa/unit/data/xlsx/tdf100034.xlsx b/sc/qa/unit/data/xlsx/tdf100034.xlsx new file mode 100644 index 000000000000..b053a34bca43 Binary files /dev/null and b/sc/qa/unit/data/xlsx/tdf100034.xlsx differ diff --git a/sc/qa/unit/subsequent_export_test4.cxx b/sc/qa/unit/subsequent_export_test4.cxx index 46ea2547eadc..9d7dddc99c78 100644 --- a/sc/qa/unit/subsequent_export_test4.cxx +++ b/sc/qa/unit/subsequent_export_test4.cxx @@ -1697,6 +1697,22 @@ CPPUNIT_TEST_FIXTURE(ScExportTest4, testTdf152980) CPPUNIT_ASSERT_EQUAL(OUString("a\n\nb"), pDoc->GetString(0, 7, 0)); } +CPPUNIT_TEST_FIXTURE(ScExportTest4, testTdf100034) +{ + createScDoc("xlsx/tdf100034.xlsx"); + ScDocument* pDoc = getScDoc(); + + // Clear print ranges + pDoc->ClearPrintRanges(0); + + // Save and load back + saveAndReload("Calc Office Open XML"); + + // Check if the same print ranges are present + pDoc = getScDoc(); + CPPUNIT_ASSERT_EQUAL(static_cast<sal_uInt16>(0), pDoc->GetPrintRangeCount(0)); +} + CPPUNIT_PLUGIN_IMPLEMENT(); /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/source/filter/excel/xename.cxx b/sc/source/filter/excel/xename.cxx index 4e837a97fadf..5ce4a2ff18c4 100644 --- a/sc/source/filter/excel/xename.cxx +++ b/sc/source/filter/excel/xename.cxx @@ -324,6 +324,11 @@ OUString XclExpName::GetWithDefaultRangeSeparator( const OUString& rSymbol ) con void XclExpName::SaveXml( XclExpXmlStream& rStrm ) { + // tdf#100034: Don't save print range if the built-in index is unknown + // and sheet index is valid (this is a deleted range) + if (mcBuiltIn == EXC_BUILTIN_UNKNOWN && mnScTab != SCTAB_GLOBAL) + return; + sax_fastparser::FSHelperPtr& rWorkbook = rStrm.GetCurrentStream(); rWorkbook->startElement( XML_definedName, // OOXTODO: XML_comment, "",