libreoffice-calc
UNO로 LibreOffice Calc 스프레드시트 자동화하기
수동 스프레드시트 편집은 지루하고 오류가 발생하기 쉽습니다. 이 스킬은 UNO API를 통해 Calc 작업을 프로그래밍 방식으로 자동화하여 안정적인 일괄 처리를 제공합니다.
스킬 ZIP 다운로드
Claude에서 업로드
설정 → 기능 → 스킬 → 스킬 업로드로 이동
토글을 켜고 사용 시작
테스트해 보기
"libreoffice-calc" 사용 중입니다. 스프레드시트 생성, A0:B2 범위에 데이터 추가, PDF로 내보내기
예상 결과:
- 스프레드시트가 /reports/output.ods에 생성됨
- Sheet1.A0:B2 범위에 데이터 쓰기 완료 (3셀)
- PDF로 내보내기: /reports/output.pdf (127 KB)
"libreoffice-calc" 사용 중입니다. /data/sales.ods에서 B5 셀 읽기
예상 결과:
- 셀 Sheet1.B5:
- 값: 4250.00
- 타입: number
- 수식: None
"libreoffice-calc" 사용 중입니다. A0:C10에서 막대 차트 생성, 행 12에 고정
예상 결과:
- Sheet1에 'Sales Overview' 차트 생성됨
- 데이터 범위: A0:C10 (11행, 3열)
- 위치: 행 12, 열 0
- 크기: 8000 x 6000 단위
보안 감사
낮은 위험Static analysis flagged 197 patterns across 13 files. After evaluation, all high-severity findings are false positives: cryptographic warnings misidentified UNO connection code, 'system reconnaissance' flagged exception class definitions, and 'dynamic imports' were standard Python import statements. Shell command patterns exist only in markdown documentation. The single confirmed external command (subprocess.Popen launching LibreOffice) uses hardcoded arguments with no user input injection risk. Temp file usage follows Python best practices with proper cleanup. Skill is safe for publication with minor documentation recommended.
낮은 위험 문제 (2)
위험 요인
⚙️ 외부 명령어 (1)
📁 파일 시스템 액세스 (2)
🔑 환경 변수 (1)
품질 점수
만들 수 있는 것
자동 재무 보고
데이터로 템플릿을 채우고, 통화 서식을 적용하며, 이해관계자 프레젠테이션용 추세 차트를 만들어 월간 수익 보고서를 생성합니다.
대량 데이터 내보내기 및 변환
데이터베이스 또는 API에서 구조화된 스프레드시트로 데이터를 추출하고, 검증 규칙을 적용한 후 분산을 위해 여러 형식으로 내보냅니다.
템플릿 기반 문서 생성
일관된 서식으로 송장, 타임시트 또는 재고 보고서를 위해 사전 설계된 스프레드시트 템플릿에 동적 데이터를 채웁니다.
이 프롬프트를 사용해 보세요
/reports/monthly-data.ods에 'Data'라는 이름의 시트가 있는 새로운 Calc 스프레드시트를 생성하세요. 행 0에 'Name', 'Value', 'Date' 헤더를 추가한 후 5개의 샘플 행으로 채우세요. 헤더 행에 굵은 서식을 적용하고 Value 열에 통화 형식을 적용하세요.
/reports/monthly-data.ods를 열고 세 가지 형식으로 내보내세요: /exports/monthly-data.pdf의 PDF, /exports/monthly-data.xlsx의 Excel, /exports/monthly-data.csv의 CSV. 모든 내보내기가 성공적으로 완료되었는지 확인하세요.
/reports/sales.ods에서 Sheet1 범위 A0:B12의 데이터를 사용하여 'Monthly Sales'라는 제목의 선 차트를 생성하세요. 차트를 행 15, 열 0에 너비 8000, 높이 6000으로 고정하세요. 그런 다음 열 B에 0에서 10000 사이의 값을 요구하고 오류 메시지 'Enter sales between 0 and 10000'를 표시하는 데이터 검증을 추가하세요.
atomict 모드에서 /reports/quarterly.ods에 이 패치를 적용하세요: A0:D4 범위의 셀을 새로운 분기 데이터로 업데이트하고, 헤더 행을 굵은 서식 및 배경색으로 서식 지정하며, 카테고리 분포를 보여주는 파이 차트를 생성하고, 모든 수식을 다시 계산하세요. 작업이 실패하면 모든 변경 사항을 롤백하세요.
모범 사례
- Calc API 작업 시 해상도 오류를 방지하기 위해 항상 절대 파일 경로 사용
- LibreOffice 리소스를 해제하기 위해 컨텍스트 관리자 또는 명시적 close() 호출을 사용하여 세션을 적절히 종료
- 함께 성공하거나 실패해야 하는 관련 작업에 원자적 패치 모드 사용
- 타입 변환 문제를 방지하기 위해 셀에 쓰기 전에 데이터 타입 검증
피하기
- Calc UI처럼 1부터 시작하는 좌표 사용 - API는 0부터 시작하는 인덱싱 사용
- 셀과 범위 대상 혼합 - 단일 셀의 경우에도 별개의 타입
- close() 후 세션 메서드 호출 - 작업 전 항상 세션 상태 확인
- 차트 이름이 자동 생성된다고 가정 - 항상 reliable한 타겟팅을 위해 명시적 제목 지정