spreadsheets

Solid

Build Excel (XLSX) workbooks with openpyxl and edit existing ones through headless LibreOffice Calc — live formulas, number formats, layout — recalculated and re-inspected before delivery.

AI & Automation 29 stars 6 forks Updated today Apache-2.0

Install

View on GitHub

Quality Score: 82/100

Stars 20%
49
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# Spreadsheets Produce XLSX deliverables with **openpyxl**, and edit workbooks that already exist with **LibreOffice Calc**. Follow every section below before declaring a workbook done. ## Never round-trip an existing workbook with openpyxl **openpyxl writes new workbooks. It never touches a file that already exists** — not to change one number, not for a "quick value edit". `load_workbook(path)` followed by `.save(path)` does not edit the file; it rebuilds it from the parts openpyxl models, and everything else is gone. In practice that means silently losing: - **formula results** the engine computed — openpyxl drops the cached values, so every formula reads as empty until someone opens the file in Excel - named ranges, pivot tables and their caches - charts, images, and shapes - conditional formatting and data validation - macros, custom styles, and sheet protection None of this raises an error. The file saves, looks plausible in an inspection script, and hands the user a gutted copy of their own workbook. Read-only inspection is fine and expected: `load_workbook(path, read_only=True)` or `data_only=True`, with no `.save()` anywhere near it. The bundled `analyze_xlsx.py` does exactly this. ## Installing the library Install the pinned dependency with its own `exec` call — commands have a bounded wall clock, and one `pip` invocation per package stays inside it: ``` python3 -m pip install --user openpyxl==3.1.5 ``` Installs work only when this chat's network policy...

Details

Author
brightwave-inc
Repository
brightwave-inc/tidebreak
Created
2 months ago
Last Updated
today
Language
Rust
License
Apache-2.0

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category