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

Uploaded Source

Built Distribution

poi-0.1.16-py3-none-any.whl (8.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: poi-0.1.16.tar.gz
  • Upload date:
  • Size: 7.6 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.16.tar.gz
Algorithm Hash digest
SHA256 dd2a61e9d368e4b498a9fc8e9d7fdb139c53b2319c7a2eaefbf09918194c7813
MD5 9bf9220f4e3d5aa710b4acbf0356b9e6
BLAKE2b-256 80fc76296653bccd58d5aa47e824e1409d1f7c1fcfa4a3423ad5dfe12a6fc178

See more details on using hashes here.

File details

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

File metadata

  • Download URL: poi-0.1.16-py3-none-any.whl
  • Upload date:
  • Size: 8.1 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.16-py3-none-any.whl
Algorithm Hash digest
SHA256 c201f83c1b4b341de872c34af0496f8d7c3b9573ca323af3affe785616207569
MD5 0f4598ce99856e9c9f3c5df265798c10
BLAKE2b-256 5b1fbe4e9441e109fb853a79973e6ba3303219016789c3cb438b5cf64dc5226a

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