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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: poi-0.1.9.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.9.tar.gz
Algorithm Hash digest
SHA256 4491d05a153d4a591568c70f76b7c642bc3e791f7ecedb5d210cc89372a48263
MD5 432ae1ce3d012292935a1d8f333d4ae1
BLAKE2b-256 bfca37951d1f563a83692311f828952d72d5c3004ded1e8675b7cfc43e4b982a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: poi-0.1.9-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.9-py3-none-any.whl
Algorithm Hash digest
SHA256 fab1e75d039aaab0e1f1c6aea964abc4046df7bbd6623a6f79b2a515415024bb
MD5 52bce78f6a150a9878c5872b98c4f3fc
BLAKE2b-256 0204e26c243d1b151fd114ad204851d82a652547d070bb01cac2fc0758d583de

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