Skip to main content

Write Excel XLSX declaratively.

Project description

Poi: Make creating Excel XLSX files fun again.

travis

Poi helps you write Excel sheet in a declarative way, ensuring you have a better Excel writing experience.

It only supports Python 3.7+.

Quick start

Create a sheet object and write to a file.

from poi import Sheet
sheet = Sheet(
    root=Col(
        colspan=8,
        children=[
            Row(
                children=[
                    Cell(
                        "hello",
                        offset=2,
                        grow=True,
                        bg_color="yellow",
                        align="center",
                        border=1,
                    )
                ]
            ),
        ],
    )
)
sheet.write('hello.xlsx')

See, it's pretty simple and clear.

Sample for rendering a simple table.

class Record(NamedTuple):
    name: str
    desc: str
    remark: str

data = [
    Record(name=f"name {i}", desc=f"desc {i}", remark=f"remark {i}")
    for i in range(3)
]
columns = [("name", "名称"), ("desc", "描述"), ("remark", "备注")]
sheet = Sheet(
    root=Table(
        data=data,
        columns=columns,
        cell_width=20,
        cell_style={
            "bg_color: yellow": lambda record, col: col.attr == "name"
            and record.name == "name 1"
        },
        date_format="yyyy-mm-dd",
        align="center",
        border=1,
    )
)
sheet.write('table.xlsx')

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

poi-0.1.14.tar.gz (7.5 kB view details)

Uploaded Source

Built Distribution

poi-0.1.14-py3-none-any.whl (8.0 kB view details)

Uploaded Python 3

File details

Details for the file poi-0.1.14.tar.gz.

File metadata

  • Download URL: poi-0.1.14.tar.gz
  • Upload date:
  • Size: 7.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/0.12.17 CPython/3.7.4 Darwin/19.0.0

File hashes

Hashes for poi-0.1.14.tar.gz
Algorithm Hash digest
SHA256 8233888a09c1b544edb224151bc81699967416499221bcf8b8daa2c3ed02de0b
MD5 380d810bfd5ac5b460c033cdcce81d1f
BLAKE2b-256 475d09fb039d7256e2842c74e566db22a92f022d4f394289c6383915a315f71b

See more details on using hashes here.

File details

Details for the file poi-0.1.14-py3-none-any.whl.

File metadata

  • Download URL: poi-0.1.14-py3-none-any.whl
  • Upload date:
  • Size: 8.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/0.12.17 CPython/3.7.4 Darwin/19.0.0

File hashes

Hashes for poi-0.1.14-py3-none-any.whl
Algorithm Hash digest
SHA256 803bcc1896dacb3309227f6d22bfcdc7b2d26184d19e33a2a2351b4248bafd47
MD5 6b4d6a76aae68992f4133d6100a30e46
BLAKE2b-256 cbffacfd2b640a1de6a4b9e5e3524bad4bc1e30089938bcd6e25c653aadc3e44

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page