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

Uploaded Source

Built Distribution

poi-0.1.23-py3-none-any.whl (8.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: poi-0.1.23.tar.gz
  • Upload date:
  • Size: 8.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.0 CPython/3.8.0 Darwin/19.0.0

File hashes

Hashes for poi-0.1.23.tar.gz
Algorithm Hash digest
SHA256 54169ce06d7a7ca0e9d77bc0bbb0802b1c8cbf43949348db15c07af1cac7a29f
MD5 6badc4c85b62176e1c914114153ac3c9
BLAKE2b-256 8e1740ae6cd4be1d8c51e8103269373a49998ea85e05eb2ea3d3ce3f3be46aed

See more details on using hashes here.

File details

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

File metadata

  • Download URL: poi-0.1.23-py3-none-any.whl
  • Upload date:
  • Size: 8.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.0 CPython/3.8.0 Darwin/19.0.0

File hashes

Hashes for poi-0.1.23-py3-none-any.whl
Algorithm Hash digest
SHA256 607d7abdd9e86afe7ad1e94028164c600234d12f22f6bd44a18fdfa75c8293ac
MD5 4bf37d9dbdbd092494f5d7a0d0a162fc
BLAKE2b-256 751793c65108cf01559e5b4a18c87e3b364e5e8b15c9f16e1057aab561a5e972

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