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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: poi-0.1.12.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.12.tar.gz
Algorithm Hash digest
SHA256 f5ff85af6c0d44984fad5e4ad2e748787486383af4642ed47e6094f75f086d71
MD5 ca7ca83bdab17e8dd1fc9604b1f4c005
BLAKE2b-256 14beae4baeeb1d3d7d841c210e0e02f6ca9355996d9e84197243d842991f1244

See more details on using hashes here.

File details

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

File metadata

  • Download URL: poi-0.1.12-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.12-py3-none-any.whl
Algorithm Hash digest
SHA256 9629b94a9b6df3b6b99708a80996b0b52a76aa621e0a2f4193a1c86a581b1020
MD5 dc46556fec0ff1b88264c92a0cece7f4
BLAKE2b-256 e30723296532ff394f2646a4b6fa041d35d71e1f0088ac047041faea1576cf1b

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