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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: poi-0.2.0.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.0.tar.gz
Algorithm Hash digest
SHA256 e726cef990ce9a0bd4bd5e90f345c4819509acac1d71d2a08b7330654a58145b
MD5 ad56b1921bd26be610b3a16792e93e17
BLAKE2b-256 44b7cba0e3b177d5d31c14375f273abbf10250ed68002cb1f27234d74bed19b1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: poi-0.2.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a56ca9fda43210edaf370fab542add8472db94798933c3379d70f05d495e6c82
MD5 b8532dd6d7784f58e3504b981c05d16a
BLAKE2b-256 0a13c72c44b0b9aa3af45c0a203a814fc3928a0e27d95703e4f61c2179eaceb9

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