Bug 156748 - CALC adopting Excel border line weights has corrupted existing sheets especially with Conditional Formatting
Summary: CALC adopting Excel border line weights has corrupted existing sheets especia...
Status: UNCONFIRMED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Calc (show other bugs)
Version:
(earliest affected)
7.4.7.2 release
Hardware: All Windows (All)
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-08-12 05:31 UTC by Colin
Modified: 2023-09-06 15:52 UTC (History)
1 user (show)

See Also:
Crash report or crash signature:


Attachments
Screen dump demonstrating the impact of adopting the EXCEL line weights (8.30 KB, image/png)
2023-08-12 05:32 UTC, Colin
Details
ODS of test result (could not reproduce) (9.90 KB, application/vnd.oasis.opendocument.spreadsheet)
2023-08-31 09:16 UTC, Stéphane Guillou (stragu)
Details
Part of the real life scenario (36.21 KB, application/vnd.oasis.opendocument.spreadsheet)
2023-09-03 13:52 UTC, Colin
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Colin 2023-08-12 05:31:25 UTC
Description:
Existing sheet cells have been defined with the original LO line weights for outline borders.
When cells are conditionally formatted, the border line weight is defined - initially as standard weight.
Recent changes have implemented new line weights as the original LO standard weights clashed with the EXCEL heavier standard line weights.
Original LO standard line weights in existing sheets remain as their former weights.

New cell border weights in existing sheets are constructed using the new default so inconsistency of outlines is creeping into existing sheets

If Conditional formatting is applied then the new EXCEL defaults are applied, thereby creating outline anomalies.
SEE ATTACHED SCREEN IMAGE

Steps to Reproduce:
Using any sheet containing outline formatting created BEFORE the new line weights were adopted.
Create any conditional formatting to change the characteristics of the fill colour and observe that the outline weight is now changed to the new weight. ISODD(ROW()) is a simple condition to flip fill colours
This is probably to be expected as the new condition will imply the new weights but surely something needs to be in place to either update all existing line weights on all sheets to ensure consistency of weights or ensure the user is aware of the inconsistent line weights and any possible manual settings to obviate the anomaly.

The obverse also applies. If an existing CF contains the original LO Line Weights and is applied to a newly outlined array then the CF corrupts the later EXCEL weight outlines with the original LO weights

Actual Results:
See Attached Image

Expected Results:
Consistent line weights


Reproducible: Always


User Profile Reset: No

Additional Info:
Version: 7.4.7.2 (x64) / LibreOffice Community
Build ID: 723314e595e8007d3cf785c16538505a1c878ca5
CPU threads: 4; OS: Windows 10.0 Build 19045; UI render: Skia/Raster; VCL: win
Locale: sv-SE (en_GB); UI: en-GB
Calc: threaded
Comment 1 Colin 2023-08-12 05:32:24 UTC
Created attachment 188940 [details]
Screen dump demonstrating the impact of adopting the EXCEL line weights
Comment 2 Stéphane Guillou (stragu) 2023-08-31 09:16:28 UTC
Created attachment 189276 [details]
ODS of test result (could not reproduce)

I could not reproduce. I assumed this was related to the fix for bug 48622 so tested giving borders to cells with version 7.2.7.2, then applying the following conditional formatting to a column:

Formula is: =ISODD(ROW())
Apply style: Bad

... then did the same on other columns with LO 7.3.7.2 and 7.4.7.2.

The borders remained the same thickness.

Can you please provide an example file and more precise steps to reproduce the issue?
Comment 3 Colin 2023-09-03 13:50:41 UTC
(In reply to Stéphane Guillou (stragu) from comment #2)
> Created attachment 189276 [details]
> ODS of test result (could not reproduce)
> 
> 
> Can you please provide an example file and more precise steps to reproduce
> the issue?

Attached is a small .ods which was created before outlines were changed to obviate the clash with Excel.

All outlines were originally created at the thinnest setting and the conditional formatting also "standardised" with the then-current thinnest outline.

Recent changes to the outlines have obviously defaulted to current Excel compliance.

Embedded within the conditional formatting (and elsewhere in the sheet) are the original "fine lines". These fine lines never "clashed" with the underlying outlines because they were the same and so only the "Fill colour" was conditioned.

To demonstrate

     1) EDIT the date in B1 to 22/8/23
     2) CYCLE between the undo and redo actions on the toolbar

This demonstrates the clash between the new Excel compliance and probably millions of LO files when a user unknowingly amends either a conditional format or the simple applied cell format.

There is a "sort of" workaround but only when the impact is exclusively on the outside edge of an array AND if the user wishes to create lots of "micro columns" in which to play.

     1) Select E1:E17
     2) Place an outside or left side border of the default thickness
     3) Flip-flop between the two identified dates as per test 1 above.

The dates are specifically Tuesdays and Fridays (Formulae in Column G) and the "trigger" is column H with Friday = 1 and anything that isn't Friday being a 2.

Normally, only the "candystripe" columns are visible and what is presented is an optimisation of the worst impacted portion of the "Dashboard" 

It is not user centric to be required to re-define all existing conditional formats to comply with the Excel precepts

Yes I know the sample is mickey mouse but it's part of a seven sheet file developed over 8 years with inter-sheet links and extensive use of conditional fills - quite a few within the domain of outlined and highlighted arrays.

Note: Columns G, I & J are also subject to the same conditional formatting but their outlines have not been affected by the subsequent placement of the "new" standard outline weights so there is no visible interference.

It is also possible to copy a pre Excel format from another LO sheet and retain the original embedded criteria.
Comment 4 Colin 2023-09-03 13:52:04 UTC
Created attachment 189317 [details]
Part of the real life scenario
Comment 5 Stéphane Guillou (stragu) 2023-09-06 14:50:37 UTC
Which version exactly did you use to create the document, i.e. that is not affected by the issue?
I see the same results using your steps in .e.g LO 7.6, 7.0 and 5.4.

I see that, in your example document:
- the direct formatting of the range (red cells, the default) uses the thickness "Thin (0.75 point)"
- the conditional formatting uses the cell style "Accent". Looking at its attributes, it uses "Hairline (0.05pt)".

As a workaround, it's easy enough to change the whole range's default formatting to "Hairline", using the sidebar, so the thickness matches.
Comment 6 Colin 2023-09-06 15:52:10 UTC
(In reply to Stéphane Guillou (stragu) from comment #5)
> Which version exactly did you use to create the document, 
> 
From the properties of the originating file:-

Size:                    659kB
Sheets:                  9
Cells:                   54262
Pages:                   73
Formula Groups:          311
Created:                 2015-09-23     11:10:32
Modified:                2023-09-06     06:30:07
Total Editing Time:      223:21:50
Revision Number:         1444

Like Topsy - it grew.

I couldn't honestly advise when that particular array was created nor any of the many others in that file.

Most of the bug reports I have filed probably originated from  this file so if it's possible to analyse the creation date of these (and version) that may indicate the first likely success unit.

I "lived with it" for a while after I first noticed it but when it really started to bug me I ascertained it was the impact of "mixing & matching" the new default Excel and old LO outlines.