vaadin / vaadin/spreadsheet

Support Table Styles

Open
#529 8 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Java
Stars
50
Forks
53
Avg merge
1d 21h
Merged PRs (30d)
1

Description

Excel tables have their own styles, including 60 or so "built-in" styles defined in the Open Document specification.

I'm teaching POI about them for the 3.17 release, and adding some functionality and interfaces to bridge common information between conditional formatting and table styles, since both rely on the same underlying XML element type.

This means an opportunity to refactor my changes suggested in #461 to abstract out the CSS generation further and reuse it for tables as well.

Since a given cell can be formatted incrementally by multiple table style elements, such as both row and column styles together, the spec has a defined order of precedence for resolving conflicts. This works well with CSS too, as long as the order of style classes is similarly defined.

Once I have it working I'll submit a pull request that could cover both this issue and #461, but require the latest POI nightly or beta (if we have a 3.17 beta1 out by then).

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the changes proposed in #461 and the Apache POI table-style and conditional-formatting APIs described in the issue. Trace how CSS is currently generated and how table-style XML elements are represented; done means built-in table styles are supported and the shared CSS handling resolves combined row and column styles in specification order.

Written by the indexing model from the issue text.

Assessment

Tech stack
css, java
Domain
frontend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.