diff options
author | Balazs Varga <balazs.varga991@gmail.com> | 2021-05-06 18:47:30 +0200 |
---|---|---|
committer | László Németh <nemeth@numbertext.org> | 2021-05-10 12:39:38 +0200 |
commit | 3cd6402c5443c8069c07d9e420d5ef5b43af6bef (patch) | |
tree | a51e7afaa690b0044963653193a6d0a9fd986aef /sc/qa | |
parent | a25c9a2925e64f3adb46a749ce18393aa01b1870 (diff) |
tdf#127301 XLSX import: hide hidden named range of autofilter
Create but not insert/add hidden FILTER_CRITERIA (_xlnm._FilterDatabase)
to ScRangeName, because no need for them, so avoid of creating
extra named ranges by autofilter re-range (shown in Sheet ->
Named Ranges and Expressions -> Manage...).
See also commit 3a2263a20629b0a3e9b4935dd43dc59817d0241c
"mib17: #163146# XLS import: do not skip hidden names[...]".
Change-Id: Ibfd86942a99b251a59394955bc890e6dbe0390f3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115189
Tested-by: László Németh <nemeth@numbertext.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
Diffstat (limited to 'sc/qa')
-rw-r--r-- | sc/qa/unit/data/xlsx/autofilternamedrange.xlsx | bin | 0 -> 9685 bytes | |||
-rw-r--r-- | sc/qa/unit/subsequent_filters-test.cxx | 23 |
2 files changed, 23 insertions, 0 deletions
diff --git a/sc/qa/unit/data/xlsx/autofilternamedrange.xlsx b/sc/qa/unit/data/xlsx/autofilternamedrange.xlsx Binary files differnew file mode 100644 index 000000000000..51490d9229ea --- /dev/null +++ b/sc/qa/unit/data/xlsx/autofilternamedrange.xlsx diff --git a/sc/qa/unit/subsequent_filters-test.cxx b/sc/qa/unit/subsequent_filters-test.cxx index 0d8e08fd1813..4529a123edb8 100644 --- a/sc/qa/unit/subsequent_filters-test.cxx +++ b/sc/qa/unit/subsequent_filters-test.cxx @@ -317,6 +317,7 @@ public: void testDeleteCirclesInRowAndCol(); void testTdf129940(); void testTdf139763ShapeAnchor(); + void testAutofilterNamedRangesXLSX(); CPPUNIT_TEST_SUITE(ScFiltersTest); CPPUNIT_TEST(testCondFormatOperatorsSameRangeXLSX); @@ -517,6 +518,7 @@ public: CPPUNIT_TEST(testDeleteCirclesInRowAndCol); CPPUNIT_TEST(testTdf129940); CPPUNIT_TEST(testTdf139763ShapeAnchor); + CPPUNIT_TEST(testAutofilterNamedRangesXLSX); CPPUNIT_TEST_SUITE_END(); @@ -5795,6 +5797,27 @@ void ScFiltersTest::testTdf139763ShapeAnchor() xDocSh->DoClose(); } +void ScFiltersTest::testAutofilterNamedRangesXLSX() +{ + ScDocShellRef xDocSh = loadDoc(u"autofilternamedrange.", FORMAT_XLSX); + CPPUNIT_ASSERT_MESSAGE("Failed to load autofilternamedrange.xlsx", xDocSh.is()); + + ScDocument& rDoc = xDocSh->GetDocument(); + const ScDBData* pDBData = rDoc.GetDBCollection()->GetDBNearCursor(0, 0, 0); + CPPUNIT_ASSERT(pDBData); + ScRange aRange; + pDBData->GetArea(aRange); + CPPUNIT_ASSERT_EQUAL(ScRange(0, 0, 0, 0, 3, 0), aRange); + OUString aPosStr; + bool bSheetLocal = false; + // test there is no '_xlnm._FilterDatabase' named range on the filter area + const ScRangeData* pRData = rDoc.GetRangeAtBlock(aRange, aPosStr, &bSheetLocal); + CPPUNIT_ASSERT(!pRData); + CPPUNIT_ASSERT_EQUAL(OUString(), aPosStr); + + xDocSh->DoClose(); +} + ScFiltersTest::ScFiltersTest() : ScBootstrapFixture( "sc/qa/unit/data" ) { |