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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: poi-0.1.10.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.10.tar.gz
Algorithm Hash digest
SHA256 01de34f898227401b21fad80f10247c4149718e81bf738a3d2d3da0e02651c1e
MD5 62ded6c1649431be5f8c33f95da0b230
BLAKE2b-256 6ba050896ff52ac078579f10694f74ddc559ff739c06d7b92e476882de2d2a4c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: poi-0.1.10-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.10-py3-none-any.whl
Algorithm Hash digest
SHA256 975812b51211005a1e482c85cea039acaa4ed956715bd9c981697a1204e0df02
MD5 e0219b479cbab89253e946bea3465c9d
BLAKE2b-256 46fe9a601010acfc31ce7f172f4b1e676e6275d2e45ac835e5bd58a7c12210c4

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