Skip to content
Agentmart
Submit a tool

excel-data

Leer, escribir y manipular archivos Excel (XLSX) con Python usando openpyxl y pandas.

Skill by garri333

IndexedMIT★ 1
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/garri333-excel-data

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Leer, escribir y manipular archivos Excel (XLSX) con Python usando openpyxl y pandas. Usa cuando necesites procesar hojas de cálculo, automatizar reportes Excel, o extraer datos de archivos .xlsx.

Use cases: spreadsheets, backend, data

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/excel-data

What's inside

Skill name
excel-data
Description
Leer, escribir y manipular archivos Excel (XLSX) con Python usando openpyxl y pandas. Usa cuando necesites procesar hojas de cálculo, automatizar reportes Excel, o extraer datos de archivos .xlsx.
License
MIT
Instructions
232 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

# Excel Data Skill

## Cuándo usar esta skill
- Leer datos de un archivo Excel (.xlsx, .xls)
- Generar reportes en formato Excel con formato
- Automatizar la creación de hojas de cálculo
- Transformar datos entre Excel y otros formatos (CSV, JSON, DB)

## Setup

```bash
pip install openpyxl pandas xlsxwriter
```

## Leer Excel con pandas

```python
import pandas as pd

# Leer hoja por defecto
df = pd.read_excel("datos.xlsx")

# Leer hoja específica
df = pd.read_excel("datos.xlsx", sheet_name="Ventas")

# Leer múltiples hojas
sheets = pd.read_excel("datos.xlsx", sheet_name=None)  # Devuelve dict {nombre: df}
for sheet_name, df in sheets.items():
    print(f"Hoja: {sheet_name}, Filas: {len(df)}")

# Opciones útiles
df = pd.read_excel(
    "datos.xlsx",
    sheet_name="Sheet1",
    header=0,           # Fila 0 es el header (default)
    skiprows=2,         # Saltar las primeras 2 filas
    usecols="A:E",      # Solo columnas A a E
    nrows=100,          # Solo las primeras 100 filas
    dtype={"ID": str},  # Forzar tipo de columna
    na_values=["N/A", "-", ""],  # Valores nulos
)

# Información básica
print(df.head())
print(df.dtypes)
print(df.describe())
print(f"Shape: {df.shape}")
```

## Escribir Excel con pandas

```python
# Exportar single sheet
df.to_excel("output.xlsx", index=False, sheet_name="Datos")

# Múltiples hojas en el mismo archivo
with pd.ExcelWriter("report.xlsx", engine="openpyxl") as writer:
    df_ventas.to_excel(writer, sheet_name="Ventas", index=False)
    df_clientes.to_excel(writer, sheet_name="Clientes", index=False)
    df_resumen.to_excel(writer, sheet_name="Resumen", index=False)

# Con formato usando xlsxwriter
with pd.ExcelWriter("formatted.xlsx", engine="xlsxwriter") as writer:
    df.to_excel(writer, sheet_name="Datos", index=False)
    
    workbook = writer.book
    worksheet = writer.sheets["Datos"]
    
    # Formato para headers
    header_format = workbook.add_format({
        'bold': True,
        'bg_color': '#2B5CE6',
        'font_color': 'white',
        'border': 1,
    })
    
    # Aplicar formato a headers
    for col_num, value in enumerate(df.columns.values):
        worksheet.write(0, col_num, value, header_format)
    
    # Auto-ajustar ancho de columnas
    for i, col in enumerate(df.columns):
        max_len = max(df[col].astype(str).str.len().max(), len(col)) + 2
        worksheet.set_column(i, i, min(max_len, 50))
```

## openpyxl — Control granular

```python
from openpyxl import Workbook, load_workbook
from openpyxl.styles import Font, PatternFill, Alignment, Border, Side
from openpyxl.utils import get_column_letter
from openpyxl.chart import BarChart, Reference

# Crear nuevo workbook
wb = Workbook()
ws = wb.active
ws.title = "Reporte"

# Escribir datos
ws["A1"] = "Producto"
ws["B1"] = "Unidades"
ws["C1"] = "Precio"
ws["D1"] = "Total"

datos = [
    ("Producto A", 100, 29.99),
    ("Producto B", 250, 14.99),
    ("Producto C", 75, 49.99),
]

for row, (producto, unidades, precio) in enumerate(datos, start=2):
    ws[f"A{row}"] = producto
    ws[f"B{row}"] = unidades
    ws[f"C{row}"] = precio
    ws[f"D{row}"] = f"=B{row}*C{row}"  # Fórmula

# Estilos
header_fill = PatternFill(start_color="2B5CE6", end_color="2B5CE6", fill_type="solid")

From garri333/Skills, MIT.

More from garri333/Skills

Signals

Stars
1
Forks
0
Open issues
0
Last commit (this folder)
Feb 18, 2026 (8 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from garri333

Cite this page

excel-data skill. Agent Mart. https://agentmart.dev/skills/garri333-excel-data (last updated 2026-10-24)