csv-xlsxlisted
Install: claude install-skill dewil/claude-toolkit
# csv-xlsx
Сборка .xlsx из CSV/TSV без зависимостей: zip + SpreadsheetML руками, как md-docx. Скрипт-эталон - `scripts/csv-xlsx.py` (top-level папка `scripts/` в корне проекта). Не нужен openpyxl - канонические скрипты stdlib-only.
## Когда применять
- Таблица уходит чел��веку, который откроет ее в Excel/Numbers/LibreOffice (заказчик, бухгалтерия, команда).
- Несколько CSV надо собрать в одну книгу листами.
- Данные уже есть или легко выгружаются в CSV/TSV - остальное скрипт сделает сам (типизация, шапка, ширины).
## Когда НЕ применять
- Таблица для чтения в чате/доке - обычный markdown, конвертация не нужна.
- Google Sheets проекта - там свой канал (MCP), не файл.
- Сложная верстка (объединенные ячейки, диаграммы, сводные) - скрипт этого не умеет намеренно; такое делается руками в Excel или отдельным инструментом.
## CLI
```bash
python3 scripts/csv-xlsx.py data.csv # data.xlsx рядом
python3 scripts/csv-xlsx.py a.csv b.tsv --out отчет.xlsx # два листа (имена - из имен файлов)
python3 scripts/csv-xlsx.py план.csv --formulas # "=..." писать формулами
python3 scripts/csv-xlsx.py dump.csv --delimiter "|" # принудительный разделитель (обычно не нужен)
python3 scripts/csv-xlsx.py сырье.csv --no-header # первая строка - данные
```
Автор и заголовок файла - по `rules/document-metadata.md`: `--author` / env `XLSX_AUTHOR` / дефолт из скрипта; `--title` / имя выходного файла. Проверка - распаковать `docProps/core.xml` (`unzip -p