JS로 차트 훼손 없이 엑셀 수정하기!!!

2024. 11. 16. 21:55·Node.js

자바스크립트로 엑셀 파일을 생성하거나 수정하는데 자주 사용되는 npm 패키지들이 있습니다. 세 패키지에 대해 알아보고 어느 상황에서 어떤 라이브러리를 쓰면 좋을지 정리해 보겠습니다.

  • sheetJS
  • ExcelJS
  • xlsx-populate

 

SheetJS


가장 대표적으로 많이 사용되는 라이브러리입니다. 주로 쓰거나 읽기 작업에 사용되는 라이브러리입니다. 가볍고 빠르기 때문에 간단한 작업을 하거나 브라우저를 사용할때 이용하면 좋습니다.

 

ExcelJS


SheetJS에 비해 스타일 지정, 차트, 머지 등 엑셀의 레이아웃 요소를 조작할 수 있는 고급 기능들을 더 제공합니다. 데이터 시각화와 포맷 중심의 엑셀 작업에서 주로 활용됩니다.

 

xlsx-populate


 

엑셀 문서 조작에 초점을 맞춘 라이브러리입니다. 기존 엑셀 파일을 수정 및 조작할 때 강력한 도구입니다!!!!!!!!

SheetJS와 ExcelJS와는 달리 차트가 있는 기존 엑셀 파일을 차트 훼손 없이 수정할 수 있습니다. 사실 세 라이브러리 모두 엑셀을 수정할 때는 파일을 읽고 수정을 한다음 덮어 쓰기 때문에 그대로 수정하는 것이 아닌 복사본을 생성해 수정한 후 덮어쓰는거라고 생각하면 됩니다. SheetJS와 ExcelJS는 기존 파일을 읽을때 차트 데이터를 보존하지 못합니다. 이와 달리 xlsx-populate 라이브러리는 차트 데이터도 보존해 파일을 생성합니다. 만약 기존 엑셀 템플릿을 이용해 파일을 수정한다면 xlsx-populate이 적합합니다. 단점이라면 다른 라이브러리에 비해 업데이트가 5년 이상 안되고 있습니다.

 

비교 요약


특징 SheetJS ExcelJS xlsx-populate
주요 기능 파일 읽기/쓰기 (간단) 파일 생성/스타일 조작 (고급) 기존 파일 수정 및 템플릿 활용
포맷 지원 다중 포맷 (`.xlsx`, `.csv`) `.xlsx` (엑셀 중심) `.xlsx` (엑셀 중심)
스타일링 지원하지 않음 상세한 스타일링 가능 기존 스타일 유지 및 일부 조작
템플릿 활용 제한적 지원 지원 가능 강력한 템플릿 활용 가능
환경 브라우저/Node.js 브라우저/Node.js 브라우저/Node.js
장점 경량, 빠름, 다목적 사용 가능 스타일링, 레이아웃 조작 최적화 기존 문서 스타일 보존에 강점

 

  • 간단한 데이터 작업: `SheetJS`
  • 고급 스타일 및 조작 필요: `ExcelJS`
  • 기존 파일을 수정하거나 템플릿 작업: `xlsx-populate`

 

 

차트가 있는 기존 엑셀파일을 계속 수정하는데 차트가 계속 훼손되서 방법을 찾느라 정말 고생했어요ㅜㅜ

 

'Node.js' 카테고리의 다른 글

[error] Sequelize A is not associated to B  (2) 2024.11.19
[노드 교과서] 섹션 9 - 익스프레스로 SNS 서비스 만들기  (2) 2024.11.17
[Node.js 교과서] 섹션 8 - 몽고디비  (1) 2024.11.11
[Node.js 교과서] 섹션7 - MySQL  (3) 2024.11.09
[Node.js 교과서] 섹션 6 - 익스프레스 웹 서버 만들기  (0) 2024.11.03
'Node.js' 카테고리의 다른 글
  • [error] Sequelize A is not associated to B
  • [노드 교과서] 섹션 9 - 익스프레스로 SNS 서비스 만들기
  • [Node.js 교과서] 섹션 8 - 몽고디비
  • [Node.js 교과서] 섹션7 - MySQL
bearn_soo
bearn_soo
추상적으로 받아들이되 구체적으로 이해하라
  • bearn_soo
    초밥구이
    bearn_soo
  • 전체
    오늘
    어제
    • 분류 전체보기 (78)
      • Javascript (16)
      • Node.js (18)
      • 알고리즘 (8)
      • 네트워크 (2)
      • 데이터베이스 (10)
      • 운영체제 (11)
      • 자료구조 (6)
      • 공부기록 (7)
  • 인기 글

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
bearn_soo
JS로 차트 훼손 없이 엑셀 수정하기!!!
상단으로

티스토리툴바