excel2md

Solid

.xlsx 엑셀 파일 읽기/변환 전문 스킬. JSON/마크다운 변환, 임베디드 이미지 자동 추출, 시트별 파일 생성. ".xlsx", "엑셀", "excel", "스프레드시트" 요청에 실행.

Data & Documents 5 stars 1 forks Updated yesterday MIT

Install

View on GitHub

Quality Score: 83/100

Stars 20%
26
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
80
License 10%
100
Description 5%
100

Skill Content

# Excel to JSON/Markdown 엑셀 파일을 구조화된 JSON 또는 마크다운으로 변환합니다. 임베디드 이미지도 자동 추출하여 해당 행에 매핑합니다. ## Quick Start ``` /excel2md report.xlsx # JSON (기본) /excel2md report.xlsx --format md # 마크다운 /excel2md data.xlsx --sheet "매출현황" # 특정 시트 /excel2md data.xlsx --output ./docs # 출력 디렉토리 /excel2md data.xlsx --no-images # 이미지 제외 ``` --- ## Step 0: 구조 분석 (First Actions) 변환 전 엑셀 파일의 구조를 먼저 파악합니다. ```python import openpyxl wb = openpyxl.load_workbook('data.xlsx', data_only=True) for sheet_name in wb.sheetnames: ws = wb[sheet_name] print(f"\n=== {sheet_name} ===") print(f" 크기: {ws.max_row}행 × {ws.max_column}열") print(f" 병합 셀: {len(ws.merged_cells.ranges)}개") # 헤더 자동 감지 (문자열 비율 기반) for row_idx in range(1, min(6, ws.max_row + 1)): row = [ws.cell(row_idx, c).value for c in range(1, ws.max_column + 1)] str_ratio = sum(1 for v in row if isinstance(v, str)) / max(len(row), 1) marker = " ← 헤더 후보" if str_ratio > 0.7 else "" print(f" 행 {row_idx}: {row[:5]}...{marker}") ``` ### 구조 분석 출력 예시 ``` === Sheet1 === 크기: 150행 × 8열 병합 셀: 3개 행 1: ['번호', '이름', '부서', '직급', '입사일']... ← 헤더 후보 행 2: [1, '김철수', '개발팀', '대리', datetime(2020,3,1)]... === 매출현황 === 크기: 50행 × 12열 병합 셀: 12개 (그룹 헤더) 행 1: ['', '', '2025년', None, None, '2026년']... ← 그룹 헤더 행 2: ['지역', '담당자', '1Q', '2Q', '3Q', '1Q']... ← 실제 헤더 ``` --- ## Step 1: 데이터 타입 감지 + 변환 ### 타입별 처리 규칙 | 엑셀 타입 | JSON 출력 | MD 출...

Details

Author
Dannykkh
Repository
Dannykkh/skill-olympus
Created
7 months ago
Last Updated
yesterday
Language
JavaScript
License
MIT

Similar Skills

Semantically similar based on skill content — not just same category