Automated PowerPoint report generation from Excel data via COM
Project description
decx
Automated PowerPoint report generation from Excel data via COM.
decx reads data from Excel workbooks and updates linked OLE objects, tables, delta indicators, color coding, and charts in PowerPoint presentations — all driven from the command line.
Requirements
- Windows (COM automation requires Windows)
- Microsoft PowerPoint (installed and licensed)
- Microsoft Excel (installed and licensed)
- Python 3.11+
Installation
uv add decx
Or with pip:
pip install decx
Usage
Update presentations
# Single presentation with one Excel file
decx update report.pptx --excel data.xlsx
# Batch mode with explicit pptx:xlsx pairs
decx update --pair "us.pptx:us_data.xlsx" --pair "mx.pptx:mx_data.xlsx"
# Skip specific steps
decx update report.pptx --excel data.xlsx --skip-links --skip-charts
# Use a custom config file
decx update report.pptx --excel data.xlsx --config my_config.yaml
# Verbose output for debugging
decx update report.pptx --excel data.xlsx --verbose
Initialize config
Write the default config.yaml to the current directory:
decx init
Info
decx info
Version
decx --version
Configuration
decx ships with sensible defaults. Run decx init to generate a config.yaml you can customize:
heatmap:
color_minimum: '#F8696B'
color_midpoint: '#FFEB84'
color_maximum: '#63BE7B'
dark_font: '#000000'
light_font: '#FFFFFF'
ccst:
positive_color: '#33CC33'
negative_color: '#ED0590'
neutral_color: '#595959'
positive_prefix: '+'
symbol_removal: '%'
delta:
template_positive: tmpl_delta_pos
template_negative: tmpl_delta_neg
template_none: tmpl_delta_none
template_slide: 1
links:
set_manual: true
Pipeline
- Re-link OLE objects — point linked Excel objects to a new data file
- Populate tables — read Excel ranges and write values into PowerPoint tables
- Delta indicators — swap arrow shapes based on positive/negative values
- Color coding — apply color rules to
_ccsttables - Update charts — refresh linked chart data sources
License
MIT
Repository
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file decx-0.1.0.tar.gz.
File metadata
- Download URL: decx-0.1.0.tar.gz
- Upload date:
- Size: 18.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6ca35601a32b254205ec5786c95b7f47cebd6c8aee172020294d15ef4305e4f8
|
|
| MD5 |
6c3eae9e6e3bda66ce1086a3411ca514
|
|
| BLAKE2b-256 |
14eb74b0e9a6940a2a506349325ca8e1e4df2df521774864047986f60c52a522
|
File details
Details for the file decx-0.1.0-py3-none-any.whl.
File metadata
- Download URL: decx-0.1.0-py3-none-any.whl
- Upload date:
- Size: 23.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7225109c49553c2d7d0d602ed785d74857d18834c75130c5ba0455f2e298e029
|
|
| MD5 |
9056e35f092fef7c8d7aef59167cadfe
|
|
| BLAKE2b-256 |
9c7ecec4e6ee11fa83090fc12d481cc4478005360ba52a0940d8dd1fb9cfb293
|