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.17.tar.gz (7.8 kB view details)

Uploaded Source

Built Distribution

poi-0.1.17-py3-none-any.whl (8.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: poi-0.1.17.tar.gz
  • Upload date:
  • Size: 7.8 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.17.tar.gz
Algorithm Hash digest
SHA256 6224f53a1ba9f52ab3df3f2d9a65fc167f74fad80ac050447a86f85cd84313d0
MD5 4cff0b5dfc02152fd1f1592f252ca0dc
BLAKE2b-256 09f3ef16577147bf8a11e21b92aa731c6d05de2b70432998949dde605b8939c0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: poi-0.1.17-py3-none-any.whl
  • Upload date:
  • Size: 8.3 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.17-py3-none-any.whl
Algorithm Hash digest
SHA256 7e73d66aa7fec3e9a423d5513b80a4c3157fd19525bbe0f8135dee16f53c8cf1
MD5 b8cc4535dd8c33c6bbc0c66cb4b0565a
BLAKE2b-256 b3580db45b67613823913eeba3a8930393decd896a6069f25e17bd5206bfe5b0

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