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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: poi-0.1.20.tar.gz
  • Upload date:
  • Size: 8.0 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.20.tar.gz
Algorithm Hash digest
SHA256 48addcc554a2aecf78c174d19ef567d6b0420b32241df6b3f4e350bb8a84206a
MD5 98dc667c1f50833ce426d85250f833af
BLAKE2b-256 c40cf7db233d0760b8679ef5213ec1ef6325c97b06e541df342115ded3ed9634

See more details on using hashes here.

File details

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

File metadata

  • Download URL: poi-0.1.20-py3-none-any.whl
  • Upload date:
  • Size: 8.6 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.20-py3-none-any.whl
Algorithm Hash digest
SHA256 51c1bc4dc0f0f4e9737f5450a228510d0046a1aa820ffacd196e4994a4de43ab
MD5 b96036550793c9872db61b2c3d3545ad
BLAKE2b-256 708a328e06caeed41aafce6c20c5d9626df95f82c73db1dd0ab517eb2d03f20e

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