sc/qa/unit/data/xlsx/sortconditionref2.xlsx |binary sc/qa/unit/subsequent_export_test2.cxx | 14 ++++++++++++++ sc/source/filter/oox/autofilterbuffer.cxx | 2 +- 3 files changed, 15 insertions(+), 1 deletion(-)
New commits: commit 1394a950cef4f3d97a79388dcd3e49b29e660077 Author: Gülşah Köse <gulsah.k...@collabora.com> AuthorDate: Fri Feb 7 16:05:16 2025 +0300 Commit: Xisco Fauli <xiscofa...@libreoffice.org> CommitDate: Tue Feb 11 16:03:56 2025 +0100 Fix wrong detection of sortCondition reference Signed-off-by: Gülşah Köse <gulsah.k...@collabora.com> Change-Id: I877ede71f9487ba35efd7da6aeeee954560272cc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181344 Reviewed-by: Szymon Kłos <szymon.k...@collabora.com> Tested-by: Jenkins (cherry picked from commit 641fd154649edfb3fe1dad89f833f2e48caf41d7) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181405 Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org> diff --git a/sc/qa/unit/data/xlsx/sortconditionref2.xlsx b/sc/qa/unit/data/xlsx/sortconditionref2.xlsx new file mode 100644 index 000000000000..748e894ac0a7 Binary files /dev/null and b/sc/qa/unit/data/xlsx/sortconditionref2.xlsx differ diff --git a/sc/qa/unit/subsequent_export_test2.cxx b/sc/qa/unit/subsequent_export_test2.cxx index 7f4703a11cfe..0777a073e1d6 100644 --- a/sc/qa/unit/subsequent_export_test2.cxx +++ b/sc/qa/unit/subsequent_export_test2.cxx @@ -442,6 +442,20 @@ CPPUNIT_TEST_FIXTURE(ScExportTest2, testSortConditionRef) u"B3:B2"_ustr); } +CPPUNIT_TEST_FIXTURE(ScExportTest2, testSortConditionRef2) +{ + // Ascending sortCondition reference detected wrong without fix. + //- Expected: A11:A300 + //- Actual : J11:J300 + //- In <>, attribute 'ref' of '//x:worksheet/x:autoFilter/x:sortState/x:sortCondition' incorrect value. + createScDoc("xlsx/sortconditionref2.xlsx"); + save(u"Calc Office Open XML"_ustr); + xmlDocUniquePtr pDoc = parseExport(u"xl/worksheets/sheet1.xml"_ustr); + + assertXPath(pDoc, "//x:worksheet/x:autoFilter/x:sortState/x:sortCondition"_ostr, "ref"_ostr, + u"A11:A300"_ustr); +} + CPPUNIT_TEST_FIXTURE(ScExportTest2, testDateAutofilterXLSX) { // XLSX Roundtripping autofilter with date list diff --git a/sc/source/filter/oox/autofilterbuffer.cxx b/sc/source/filter/oox/autofilterbuffer.cxx index 1d7b7ffb0d70..dcf8da5fdc9d 100644 --- a/sc/source/filter/oox/autofilterbuffer.cxx +++ b/sc/source/filter/oox/autofilterbuffer.cxx @@ -846,7 +846,7 @@ void AutoFilter::finalizeImport( const Reference< XDatabaseRange >& rxDatabaseRa if (!aParam.bUserDef) return; - SCCOLROW nStartPos = aParam.bByRow ? maRange.aStart.Col() : maRange.aStart.Row(); + SCCOLROW nStartPos = aParam.bByRow ? maRange.aStart.Row() : maRange.aStart.Col(); // descending sort - need to enable 1st SortParam slot if (rSorConditionLoaded.mbDescending) assert(aParam.GetSortKeyCount() == DEFSORT);