Repository navigation
v2.26.0
The number-format display path was mangling several common codes, and three
chart types, table totals and outline placement were missing.
Fixed
- Square brackets in a format code corrupted the result. They were not
handled at all, and the failure was not graceful:[Red]0.00came out as
[Re31]0.00, because thedin the colour name sent the whole code to the
date formatter, and[$$-409]#,##0.00had the409read as digit
placeholders. Now a colour is dropped, a currency tag keeps its symbol and
drops its locale id, a condition such as[>100]selects the section, and
an elapsed token is passed to the date formatter. - Fraction formats did nothing.
# ?/?on a third gave0 /. The
denominator is now chosen to fit the placeholders, or taken as written for a
fixed scale such as?/8, and?reserves a blank so a column of fractions
lines up on the slash. - Elapsed durations printed their brackets.
[h]:mmon a day and a half
read[12]:00instead of36:00.[h],[m]and[s]now measure the
whole duration rather than wrapping at the clock field, and themmafter
an elapsed hour reads as minutes rather than as a month. - A fractional-seconds group always printed zero.
mm:ss.0on one and a
half seconds gave00:01.0. The whole seconds also truncate now, so the two
halves cannot disagree by a rounding. - A negative too small to show kept its sign, so a value that is simply
zero at the format's precision displayed as-0.00. _and*were printed literally._)reserves the width of a
character and*-fills the column, which every built-in accounting format
uses, so those formats showed stray markers.- A section of pure literals had a
0put in front of it, so the zero
section of0.00;-0.00;"zero"read0zero. - The fourth (text) section never ran. A custom code was rejected on a
text cell before it could, so a format whose job was to label or wrap text
did nothing.0.00;-0.00;"zero";"["@"]"now showshias[hi]. - A new workbook declared its group summaries above and to the left. The
bundled template carried<outlinePr summaryBelow="0" summaryRight="0"/>,
the opposite of Excel's default, so the outline arrows on a grouped sheet
pointed at the wrong row. A created workbook now starts on the default.
New
- Three more chart types.
Chart.bubble(an XY scatter where each point
carries a size, viaChartSeries.bubbleSizes),Chart.stock(high-low-close
or open-high-low-close, by series order), andChart.ofPie(a pie with its
small slices broken out into a second pie or a bar, byOfPieSplit). All
three read back as themselves. ChartSeriesStylegives a series a fill and a stroke, with a width in
points and a dash pattern, so a dashed or outline-only series is expressible
rather than just a single colour.- A table totals row.
ExcelTable.totalssays what each column shows: a
label, or one of nine aggregates. Each is written as aSUBTOTALover the
column, so a filtered-out row drops out of it as it does in Excel. Sheet.appendTableRow,Sheet.tableRowsAsMapsandSheet.table.
Appending to a table has to grow the table's range too, or the new row sits
outside its banding and its filter; reading one back by column name is the
other half of that.Sheet.outlineSettingsplaces a group's summary row and column, and can
hide the outline symbols, for a sheet whose totals sit above or to the left
of their detail.SUBTOTAL, with the 1-11 codes and the 101-111 variants that leave
hidden rows out. That takes the engine to 332 function names.
Notes
A stock chart is fixed at three or four series by the schema, and Excel refuses
the file outright otherwise, so Chart.stock rejects anything else up front
rather than letting it become a repair prompt.