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

Uploaded Source

Built Distribution

poi-0.2.3-py3-none-any.whl (9.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: poi-0.2.3.tar.gz
  • Upload date:
  • Size: 8.7 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.3.tar.gz
Algorithm Hash digest
SHA256 5fea06f2cfcc1ab98536eb4c851b6a69842925823e8131aa9fc0a659a7417122
MD5 147ff45f1a8d7a82bb12bf54ea01ccc8
BLAKE2b-256 9daedc4f644249f481ac5ebf15e57cce42e2d994131a30864c271e0b53943610

See more details on using hashes here.

File details

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

File metadata

  • Download URL: poi-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 9.1 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 cd4cd36df50d77b67af2e7c0d4d3e5ed4d3c093b7ba70a0c68e567253c03668f
MD5 a5b4cd764f67a1d97dffd0ad0f72175d
BLAKE2b-256 ec6c2cf168144ebebee0359456010e8d38f39841aee47ff62b84d86335efc864

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