Commit Graph
4 Commits
Author SHA1 Message Date
dualfroz 08d598d941 fix: write data bar cfvo as min/max instead of num for lowest/highest value
DataBar().LowestValue()/HighestValue() emitted the x14 extension cfvo nodes as type="num" with a formula of 0 instead of type="min"/"max". Strict readers such as WPS Spreadsheets honor that value and lock the bar thresholds to 0, so the data bar renders incorrectly.

The extension converter unconditionally overwrote the cfvo type with Numeric whenever a threshold value was present. LowestValue()/HighestValue() store a placeholder "0", so their automatic min/max bounds were turned into fixed numeric thresholds; the same override also collapsed percent, percentile and formula thresholds to num.

Each cfvo is now built from its content type: automatic bounds stay autoMin/autoMax, lowest/highest bounds become min/max with no formula, and value based thresholds keep their type and emit the formula.

Fixes #2843
2026-09-02 11:15:38 +02:00
upstream c8aec98c23 Upstream ClosedXML/ClosedXML state of the touched files before 9e7a0a3c79 2026-09-02 11:15:38 +02:00
dualfroz 9508e12dc7 fix: write data bar cfvo as min/max instead of num for lowest/highest value
DataBar().LowestValue()/HighestValue() emitted the x14 extension cfvo nodes as type="num" with a formula of 0 instead of type="min"/"max". Strict readers such as WPS Spreadsheets honor that value and lock the bar thresholds to 0, so the data bar renders incorrectly.

The extension converter unconditionally overwrote the cfvo type with Numeric whenever a threshold value was present. LowestValue()/HighestValue() store a placeholder "0", so their automatic min/max bounds were turned into fixed numeric thresholds; the same override also collapsed percent, percentile and formula thresholds to num.

Each cfvo is now built from its content type: automatic bounds stay autoMin/autoMax, lowest/highest bounds become min/max with no formula, and value based thresholds keep their type and emit the formula.

Fixes #2843
2026-09-04 22:18:19 +02:00
upstream 8d5ee56081 Upstream ClosedXML/ClosedXML state of the touched files before f8af6b544a 2026-09-02 11:15:38 +02:00