Excel 표를 코드 배열로 변환하기
이 도구가 하는 일
Excel은 데이터를 행과 열로 담지만, 대부분의 프로그래밍 언어는 같은 데이터를 배열로 다룹니다. 이 도구는 연 통합 문서(XLSX, XLS, CSV, ODS, 최대 10MB)를 읽어 각 시트를 분석한 뒤, 셀 격자를 바로 붙여 넣을 수 있는 배열 리터럴로 다시 써 냅니다. 지원 언어는 JavaScript, Python, Java, C#, PHP, Go, Ruby, Rust입니다. 출력은 격자를 그대로 옮긴 2차원 배열과, 헤더 행을 키로 사용하는 객체 배열 중에서 고를 수 있습니다.
출력이 고정된 템플릿이 아니라 시트의 실제 구조에서 생성되므로, 파일에 들어 있는 열과 행이 그대로 코드로 되돌아옵니다.
언제 사용하나요
표 데이터를 실행 시점에 불러오는 대신 코드에 직접 심어 두고 싶을 때 유용합니다. 테스트용 데이터, 조회 테이블, 픽스처, 고정 설정, 프로토타입용 간단한 목업 등이 그렇습니다. 파서를 따로 작성하거나 수십 줄을 손으로 입력하는 수고를 덜어 줍니다. Excel로 참조 데이터를 관리하는 담당자는 붙여 넣기만 하면 되는 배열 리터럴을 개발자에게 건넬 수 있고, 개발자는 거래처의 표를 프로젝트가 이미 쓰는 문법으로 그대로 옮길 수 있습니다. 대개 두 가지가 뒤따릅니다. 날짜는 2024-01-15처럼 Excel이 보여 주는 텍스트 그대로 넘어오는데, 열에 Unix 타임스탬프가 들어 있다면 타임스탬프 변환기로 다시 읽을 수 있습니다. 그리고 결과물이 소스 코드가 아니라 데이터 파일이어야 한다면 CSV ↔ JSON 변환기가 더 알맞습니다.
구체적인 예시
헤더 행이 Name, Age, Active이고 그 아래로 데이터 행이 이어지는 시트를 가정해 봅시다. '첫 행을 헤더로 사용'을 켜고 JavaScript에서 객체 배열 출력을 고르면 `const data = [ {Name: "Alice", Age: 30, Active: "TRUE"}, ... ];`가 나옵니다. 헤더를 끄고 2차원 배열로 바꾸면 같은 시트가 `[["Name","Age","Active"], ["Alice","30","TRUE"], ...]`가 됩니다. 타입 감지를 켜면 객체 배열 출력에서 30이 따옴표로 감싸인 텍스트가 아니라 숫자로 남습니다.
참고 사항과 엣지 케이스
통합 문서에 시트가 여러 개면 시트 목록에서 다른 시트를 고르기 전까지 첫 번째 시트가 변환됩니다. 셀은 Excel이 보여 주는 그대로 넘어오므로 날짜는 일련번호가 아니라 2024-01-15 같은 텍스트로 나타납니다. 객체 배열 출력에서는 타입 자동 감지가 숫자로 된 텍스트를 실제 숫자로 바꿉니다. 우편번호나 앞자리에 0이 붙는 ID 코드처럼 열이 실제로 텍스트라면 감지를 꺼서 모든 셀을 문자열로 유지하세요.