Skip to content

xlsx-kit@0.4.0

Choose a tag to compare

@github-actions github-actions released this 11 May 07:38
Immutable release. Only release title and notes can be modified.
8fbd9eb

Minor Changes

  • f9f273d Thanks @baseballyama! - Expose the full ECMA-376 axis attribute surface on CategoryAxis and
    ValueAxis. Previously the serializer emitted fixed defaults for several
    elements; these are now driven by typed fields, unblocking horizontal-bar
    reversal (scaling.orientation: 'maxMin'), 100 %-stacked axis caps
    (scaling.max), value-axis crossing rules, custom tick formatting, axis
    titles, and more.

    Newly exposed shared fields: scaling (orientation/min/max/logBase),
    crosses, crossesAt, numFmt, majorTickMark, minorTickMark,
    tickLblPos, title, minorGridlines. ValueAxis gains crossBetween,
    majorUnit, minorUnit. CategoryAxis gains auto, lblAlgn,
    lblOffset, noMultiLvlLbl. All previously-emitted defaults remain the
    output when fields are unset, so existing files are unchanged.

    New type exports: AxisCrossBetween, AxisCrosses, AxisOrientation,
    AxisScaling, CategoryLabelAlignment, TickLabelPosition, TickMark.

    Closes #46.

  • 2e5e460 Thanks @baseballyama! - Expose overlap?: number on BarChart (and makeBarChart). The serializer
    now emits <c:overlap val="N"/> (range -100..100) inside <c:barChart> when
    set, unblocking flush stacking (overlap: 100) and negative-space clustered
    bars. When unset, the serializer continues to emit the prior default of
    <c:overlap val="100"/> for stacked / percentStacked grouping so existing
    output is unchanged.

    Closes #45.

  • 19e8368 Thanks @baseballyama! - Expose style?: number on ChartSpace (and makeChartSpace). The serializer
    emits <c:style val="N"/> (range 1..48) between <c:roundedCorners> and
    <c:chart>, selecting one of Excel's built-in "Chart Styles" gallery presets
    — the same single attribute openpyxl writes via chart.style = N.

    Closes #48.

  • 1541291 Thanks @baseballyama! - Add DateAxis and SeriesAxis types and dateAx? / serAx? slots on
    PlotArea. DateAxis carries auto, lblOffset, baseTimeUnit,
    majorUnit, majorTimeUnit, minorUnit, minorTimeUnit on top of the
    shared axis surface — unblocking time-series charts (<c:dateAx>).
    SeriesAxis adds tickLblSkip and tickMarkSkip, used by surface charts
    (<c:serAx>). The serializer emits both inside <c:plotArea> between the
    inferred cat/val axes and <c:spPr>; the parser round-trips them.

    New type exports: DateAxis, SeriesAxis, TimeUnit.

  • 0708aa8 Thanks @baseballyama! - Add Layout / ManualLayout types and expose layout?: Layout on
    ChartTitle, PlotArea, and Legend. The serializer emits
    <c:layout><c:manualLayout> with layoutTarget, xMode / yMode /
    wMode / hMode, and x / y / w / h when set, falling back to the
    existing empty <c:layout/> placeholder when unset — so output is unchanged
    for charts that don't configure manual layout. Parser round-trips both
    forms.

    New type exports: Layout, LayoutMode, LayoutTarget, ManualLayout.

  • 0989eec Thanks @baseballyama! - Expose per-point dPt?: DataPoint[] on BarSeries (used by bar / line /
    area / pie / doughnut / radar / stock / surface), ScatterSeries, and
    BubbleSeries, with the new DataPoint type carrying idx,
    invertIfNegative?, marker?, bubble3D?, explosion?, and spPr?.
    The serializer emits <c:dPt> children between the series'
    <c:marker>/<c:spPr> and <c:dLbls> per ECMA-376 sequence — unblocking
    per-slice colours on pie / doughnut charts, per-bar colours on single-series
    bar charts, and per-point styling on line / scatter / bubble.

    Closes #44.

  • 7f9e143 Thanks @baseballyama! - Add invertIfNegative?: boolean and explosion?: number to BarSeries
    (used by bar / line / area / pie / doughnut / radar / stock / surface) and
    invertIfNegative?: boolean to BubbleSeries. The serializer emits
    <c:invertIfNegative> and <c:explosion> between <c:spPr> and <c:dPt>
    per ECMA-376 sequence — unblocking per-series colour inversion on negative
    values and pie/doughnut slice explosion at the series level (in addition to
    the per-point DataPoint.explosion).

  • ffa777c Thanks @baseballyama! - Expose marker?: Marker on LineSeries and ScatterSeries (with the new
    Marker / MarkerSymbol types). The serializer emits <c:marker> between
    the series' <c:spPr> and <c:dLbls> per ECMA-376 sequence, carrying
    <c:symbol>, <c:size>, and an optional nested <c:spPr> for marker
    fill / line colour — matching openpyxl's series.marker = Marker(...).

    Closes #47.

  • 70a2f17 Thanks @baseballyama! - Extend StockChart.hiLowLines and StockChart.upDownBars to accept a
    detailed object form in addition to the existing boolean flag. The
    detailed form lets callers style the lines (HiLowLines.spPr) and the
    up/down bars (UpDownBars.gapWidth + upBars.spPr + downBars.spPr)
    with per-element shape properties.

    The boolean form (hiLowLines: true) keeps its existing meaning and
    output, so existing callers are unaffected. Parser round-trips both
    forms, picking the boolean form when no detail is found.

    New type exports: BarFrame, HiLowLines, UpDownBars.

  • 7cd181c Thanks @baseballyama! - Add view3D?: View3D and floor? / sideWall? / backWall? (typed
    SurfaceFrame) to ChartSpace (and makeChartSpace). The serializer
    emits <c:view3D> (with rotX, rotY, depthPercent, hPercent,
    rAngAx, perspective) and <c:floor> / <c:sideWall> / <c:backWall>
    (with thickness and spPr) between <c:autoTitleDeleted> and
    <c:plotArea> per ECMA-376 sequence — unblocking real 3-D chart viewpoints
    and wall styling for bar3DChart / line3DChart / pie3DChart /
    area3DChart / surface3DChart.