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

Uploaded Source

Built Distribution

poi-0.2.1-py3-none-any.whl (9.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: poi-0.2.1.tar.gz
  • Upload date:
  • Size: 8.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.5 CPython/3.8.0 Darwin/19.3.0

File hashes

Hashes for poi-0.2.1.tar.gz
Algorithm Hash digest
SHA256 efbedf993d1ac7239186792a9e1ea6df1fe8a5eeb176037e50c4f5f6623c5a57
MD5 1ad054d940f6c1499f9534e32127ed27
BLAKE2b-256 69fdb708ae46a9c4c0988931fcd0805062030966130f5b1bd75e607963767561

See more details on using hashes here.

File details

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

File metadata

  • Download URL: poi-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 9.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.5 CPython/3.8.0 Darwin/19.3.0

File hashes

Hashes for poi-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 aed76b46eb8a26d72093c9c112974b1967350a52a87cefe34d2227019f0ea4da
MD5 e8510f94b5199826c001ad3c9f3c3e15
BLAKE2b-256 9b5ad4a40094854c50938bb87160c0653aae7dab5386e5e5b714356d79ddb0a5

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