storytold/gridcraft

GridCraft: an open-source, clean-room spreadsheet (Microsoft Excel-style) in pure Rust. By ArtCraft.

GridCraft – Rust로 작성된 오픈소스 스프레드시트 앱

개요 – GridCraft는 Microsoft Excel의 클린룸 재구현입니다. Excel 사용자가 알고 있는 리본 UI, 수식 입력줄, 시트 탭, 키보드 단축키를 제공하지만 순수 Rust로 처음부터 구축되었습니다. 동일한 코드가 macOS, Windows, Linux, BSD에서 실행되며 WebAssembly를 통해 브라우저에서도 실행됩니다.

주요 기능

  • 완전한 기능의 스프레드시트 엔진 – 종속성 그래프 계산기로 동적 배열 스필, 500개 이상의 워크시트 함수(LET, LAMBDA, MAP, REDUCE, SCAN, BYROW, BYCOL, MAKEARRAY와 같은 최신 함수 포함) 및 구조화된 테이블 참조를 지원합니다.
  • Excel 호환 파일 형식 – 네이티브 XLSX 파일(스타일, 테마, 수식, 표, 차트, 피벗 테이블, 주석, 하이퍼링크 등 보존) 및 CSV/TSV 읽기/쓰기.
  • 풍부한 UI 기능 – 다크 모드, 조건부 서식, 색상 눈금, 데이터 막대, 스파크라인, 17가지 차트 유형, 피벗 테이블, 페이지 나누기 미리 보기, PDF 내보내기, 표시된 것만 렌더링하는 가상화 그리드.
  • 성능 팁 – 쓰기 시 복사 워크북으로 실행 취소를 가볍게. 증분 재계산과 가상화 그리드로 대규모 시트도 응답성을 유지.
  • 에이전트 네이티브 제어 – 모든 UI 작업은 MCP(멀티채널 프로토콜) 서버 또는 CLI를 통해 JSON 명령으로 노출되어 자동화 또는 AI 에이전트가 앱을 구동할 수 있습니다.

시작하기

  • Cargo로 데스크톱 앱을 빌드하고 실행: cargo run --release -p gridcraft.
  • 샘플 워크북(--sample sales, budget, grades) 또는 기존 .xlsx 파일을 엽니다.
  • 웹 버전은 Trunk로 빌드(trunk build --release)하고 생성된 정적 파일을 제공합니다.
  • gridcraft-cli 도구를 사용하여 수식 평가, 범위 읽기/쓰기, MCP 제어 채널을 통해 앱 구동이 가능합니다.

아키텍처 개요 이 프로젝트는 계층형 Cargo 워크스페이스입니다:

  • 코어 레이어(L0‑L2) 는 값, 파싱, 수식 렉서/파서, 함수 라이브러리, 워크북 모델, 계산 엔진을 처리합니다.
  • 상위 레이어 는 차트 레이아웃/렌더링, 명령 엔진, 기록/실행 취소, UI(egui), MCP 서버를 제공합니다.
  • 데스크톱, CLI, WebAssembly 프론트엔드용 별도 크레이트로 UI를 교체 가능하게 합니다.

로드맵 GridCraft는 프리알파 단계로, 현재 Excel 리본 명령의 약 89%, 함수의 약 93%를 지원합니다. 향후 마일스톤에는 서명된 릴리스 빌드, 더 높은 충실도의 XLSX 처리, 매우 큰 시트에서의 성능, 슬라이서, Solver, 차트 추세선, 실제 페이지 레이아웃 보기가 포함됩니다.

라이선스 MIT 또는 Apache‑2.0 이중 라이선스이며, 번들된 모든 자산은 ATTRIBUTION.md에 나열되어 있습니다. 이 프로젝트는 커뮤니티 주도로 Discord를 통해 기여자를 환영합니다.


위의 모든 세부 사항은 저장소의 README에서 직접 가져온 것입니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트