From a29d91ac403f1ed431ca95b8b9c290bd354c3ae7 Mon Sep 17 00:00:00 2001 From: Justin Luth Date: Thu, 18 Apr 2024 17:30:06 -0400 Subject: xlsx export: never export short-hand version of range address If all the columns are in focus, LO was exporting A10:XFD11 as 10:11. Amazingly, we can't read that. Seriously? Doesn't Microsoft ever export in shorthand? I thought it would be helpful to find any instances where LO is exporting shorthand, to verify that we really do break import of round-tripped files. I made a brief attempt at fixing the import, but it will require lots of changes and break lots of assumptions. Obviously it can't be a hugely common problem because I didn't find any bug reports about it... I abandoned my attempt because it is too prone to disaster. Change-Id: If59c316d0af466e5cf71ecc459bdf57bb2cd5144 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166269 Tested-by: Jenkins Reviewed-by: Justin Luth Reviewed-by: Miklos Vajna --- sc/qa/unit/data/xlsx/protectedRange.xlsx | Bin 0 -> 8828 bytes sc/qa/unit/subsequent_export_test2.cxx | 11 +++++++++++ 2 files changed, 11 insertions(+) create mode 100644 sc/qa/unit/data/xlsx/protectedRange.xlsx (limited to 'sc/qa') diff --git a/sc/qa/unit/data/xlsx/protectedRange.xlsx b/sc/qa/unit/data/xlsx/protectedRange.xlsx new file mode 100644 index 000000000000..a185ac3598d0 Binary files /dev/null and b/sc/qa/unit/data/xlsx/protectedRange.xlsx differ diff --git a/sc/qa/unit/subsequent_export_test2.cxx b/sc/qa/unit/subsequent_export_test2.cxx index 9f281928c732..c0b17e11aeb8 100644 --- a/sc/qa/unit/subsequent_export_test2.cxx +++ b/sc/qa/unit/subsequent_export_test2.cxx @@ -1263,6 +1263,17 @@ CPPUNIT_TEST_FIXTURE(ScExportTest2, testTdf126024XLSX) "External"); } +CPPUNIT_TEST_FIXTURE(ScExportTest2, testProtectedRange) +{ + createScDoc("xlsx/protectedRange.xlsx"); + save("Calc Office Open XML"); + + xmlDocUniquePtr pDoc = parseExport("xl/worksheets/sheet1.xml"); + CPPUNIT_ASSERT(pDoc); + // entire row was being exported as shorthand 'B:B' which LO couldn't read back + assertXPath(pDoc, "//x:protectedRanges/x:protectedRange"_ostr, "sqref"_ostr, "B1:B1048576"); +} + CPPUNIT_TEST_FIXTURE(ScExportTest2, testTdf91332) { createScDoc("xlsx/tdf91332.xlsx"); -- cgit