A python module to generate xls/x files from a xls/x template
Project description
xltpl
A python module to generate xls/x files from a xls/x template.
How it works
When xltpl reads a xls/x file, it creates a tree for each worksheet.
And, each tree is translated to a jinja2 template with custom tags.
When the template is rendered, jinja2 extensions of cumtom tags call corresponding tree nodes to write the xls/x file.
How to install
pip install xltpl
How to use
- To use xltpl, you need to be familiar with the syntax of jinja2 template.
- Get a pre-written xls/x file as the template.
- Insert variables in the cells, such as :
{{name}}
Insert control statements in the notes(comments) of cells, use beforerow, beforecell or aftercell to seperate them :
beforerow{% for item in items %}
beforerow{% endfor %}
- Insert control statements in the cells (v0.9) :
{%- for row in rows %}
{% set outer_loop = loop %}{% for row in rows %}
Cell
{{outer_loop.index}}{{loop.index}}
{%+ endfor%}{%+ endfor%}
- Run the code
from xltpl.writerx import BookWriter
writer = BookWriter('tpl.xlsx')
person_info = {'name': u'Hello Wizard'}
items = ['1', '1', '1', '1', '1', '1', '1', '1', ]
person_info['items'] = items
payloads = [person_info]
writer.render_book(payloads)
writer.save('result.xlsx')
Supported
- MergedCell
- Non-string value for a cell (use {% xv variable %} to specify a variable)
- For xlsx
Image (use {% img variable %})
DataValidation
AutoFilter
Related
-
pydocxtpl
A python module to generate docx files from a docx template. -
django-excel-export
A Django library for exporting data in xlsx, xls, docx format, utilizing xltpl and pydocxtpl, with admin integration.
Demo project
Live demo (User name: admin Password: admin) -
xltpl for nodejs
CodeSandbox examples: browser node
Notes
xlrd
xlrd does not extract print settings.
This repo does.
xlwt
xlwt always sets the default font to 'Arial'.
Excel measures column width units based on the default font.
This repo does not.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file xltpl-0.21.tar.gz
.
File metadata
- Download URL: xltpl-0.21.tar.gz
- Upload date:
- Size: 24.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b1970cd64f64ef18cf8deeedd9cbf6ad13de92d71ddffbff4cc70eaad20d61d0 |
|
MD5 | 837cc59ef9b568fede14aa8d450ad977 |
|
BLAKE2b-256 | aab51cf3356a0dcd77c3e378cd133adf976998173100ee6709b01a0a97673ceb |
File details
Details for the file xltpl-0.21-py3-none-any.whl
.
File metadata
- Download URL: xltpl-0.21-py3-none-any.whl
- Upload date:
- Size: 28.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 422a84235f25df389815788eb4f4bcf33414fcf4f665cf5545c0186ba6896c2c |
|
MD5 | 20dbb8dc232a9d32aa92a4e53cf57c5c |
|
BLAKE2b-256 | ce2647018d8aa5e7e721f8ec780582671a29002fc70f48d956608d6b23585da4 |