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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: poi-0.1.18.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.18.tar.gz
Algorithm Hash digest
SHA256 a1de35b19fbebb4cc924b64f15dae377e010e1256ff3f3233857207ef1cdbac1
MD5 e1b666eb884a6aa43ac9f714f39e117f
BLAKE2b-256 f6c6eba3ef4f92d353ef291f897ee66ae980bc0639625b580e8b580167c4b0d0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: poi-0.1.18-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.18-py3-none-any.whl
Algorithm Hash digest
SHA256 5a6e9890c462941daeaed702d892cf3db8940911152e440259ab986292be1d3c
MD5 97c2d0377d694095ba8da50c60bf39f3
BLAKE2b-256 be2f8c91a3721adee706ca5692d7d4b2c1c4f72afccce2a843acbfb244ba94eb

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