목록 보기
SpreadJS 엑셀 로딩 성능 최적화2
프론트엔드

SpreadJS 엑셀 로딩 성능 최적화2

넥스트리
넥스트리
2026년 9월 16일

두줄요약

React와 TypeScript 기반 SpreadJS Excel 상세 화면의 초기 로딩 지연을 단계별 측정으로 분석했습니다. 모든 시트에 바인딩하던 구조를 필요한 시트만 처리하도록 바꿔 로딩 시간을 약 40~50% 줄였습니다.

문제 상황

  • React와 TypeScript 기반 SpreadJS Excel 상세 화면의 초기 로딩 지연
  • 28개 시트와 복잡한 수식 구조에도 파일 크기 축소만으로는 개선되지 않는 성능 문제

원인 분석

  • workbook.open()보다 이후 데이터 연결 단계에서 더 큰 시간 소요
  • 모든 시트에 setDataSource()를 반복 호출하는 구조로 인한 불필요한 처리
  • 바인딩 경로가 없는 시트와 숨김 시트까지 동일한 바인딩 대상에 포함

해결 방법

  • 로딩 과정을 단계별로 분리해 실행 시간 측정
  • BindingPath 존재 여부와 시트 가시성을 기준으로 바인딩 대상 선별
  • 데이터 바인딩이 필요한 시트에만 setDataSource() 적용

성능/운영 포인트

  • 파일 용량 감소보다 불필요한 런타임 작업 제거가 효과적
  • 시트 단위 측정을 통해 병목 구간 식별 가능
  • 테스트 환경 기준 초기 로딩 시간 약 25~30초에서 15~20초로 단축

다음 읽기

#SpreadJS 주제를 이어서 읽기

SpreadJS 파일 올바르게 로드하기

SpreadJS 파일 형식별로 올바른 로딩 API를 매칭하는 방법을 정리했습니다. 확장자와 데이터 형태를 구분해 import()와 fromJSON()을 적용하면 파싱 오류를 줄일 수 있었습니다.

넥스트리
넥스트리
프론트엔드

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...