Skip to main content

Write Excel XLSX declaratively.

Project description

Poi: Make creating Excel XLSX files fun again.

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

It only supports 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.11.tar.gz (7.5 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: poi-0.1.11.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.11.tar.gz
Algorithm Hash digest
SHA256 8d0459fdda17f88bb48b11d452256720c3045364e6fb833f59a6ef1d50c1876e
MD5 81fb0fcd8551f217bac8254f4e658343
BLAKE2b-256 a247915174310edb337235b7bd95395350d98c37ec12bfe5c7a181fdf69f6cf4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: poi-0.1.11-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.11-py3-none-any.whl
Algorithm Hash digest
SHA256 87bc7e0dc5ae7e8d72d48c27d1ac6e5eeebe467c01d581dd19fbe5995f160978
MD5 e12ff82ed127aaf600b139b5a627de3b
BLAKE2b-256 589417fc1e3df2335cf01de6e0edf6d1dd2151809e1065d3c7efe0064ff6c83c

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