Develop

[JavaScript] 엑셀 Excel 생성하기: XLSX 라이브러리 사용 예제

issuemaker99 2024. 12. 18. 18:04
728x90

JavaScript에서 Excel 파일을 생성하려면 SheetJS 라이브러리(XLSX)를 사용할 수 있습니다. 이 글에서는 기본적인 Excel 생성 방법과 함께 스타일 변경 및 셀 서식 지정 방법을 소개합니다.


1. SheetJS 설치하기

먼저 SheetJS를 설치해야 합니다. npm 또는 CDN을 통해 설치 가능합니다.

npm 설치:

npm install xlsx

 

CDN 사용:

<script src="https://cdn.jsdelivr.net/npm/xlsx/dist/xlsx.full.min.js"></script>

 


2. 기본적인 Excel 생성 예제

다음은 JavaScript를 사용하여 간단한 Excel 파일을 생성하는 코드입니다.

// 데이터 준비
const data = [
  ["이름", "나이", "직업"],
  ["홍길동", 30, "개발자"],
  ["김철수", 25, "디자이너"],
  ["이영희", 35, "기획자"]
];

// 워크시트 생성
const worksheet = XLSX.utils.aoa_to_sheet(data);

// 워크북 생성
const workbook = XLSX.utils.book_new();
XLSX.utils.book_append_sheet(workbook, worksheet, "Sheet1");

// 파일 다운로드
XLSX.writeFile(workbook, "example.xlsx");

 


3. 셀 스타일 지정

XLSX 기본 라이브러리는 셀 스타일을 직접 지원하지 않습니다. 대신, xlsx-style과 같은 확장 라이브러리를 사용해야 합니다. 아래는 스타일 적용 예제입니다.

xlsx-style 설치:

npm install xlsx-style

 

스타일 적용 코드:

// 데이터 준비
const data = [
  ["이름", "나이", "직업"],
  ["홍길동", 30, "개발자"],
  ["김철수", 25, "디자이너"],
  ["이영희", 35, "기획자"]
];

// 워크시트 생성
const worksheet = XLSX.utils.aoa_to_sheet(data);

// 스타일 적용
worksheet["A1"].s = { 
  font: { bold: true, color: { rgb: "FF0000" } },
  fill: { fgColor: { rgb: "FFFF00" } }
};
worksheet["B2"].s = { 
  font: { italic: true },
  fill: { fgColor: { rgb: "00FF00" } }
};

// 워크북 생성
const workbook = XLSX.utils.book_new();
XLSX.utils.book_append_sheet(workbook, worksheet, "Sheet1");

// 파일 다운로드
XLSX.writeFile(workbook, "styled_example.xlsx");

 


4. 셀 서식 변경

셀 데이터를 날짜 형식이나 통화 형식으로 지정하려면 셀의 z 속성을 사용하여 서식을 설정할 수 있습니다.

셀 서식 변경 코드:

// 데이터 준비
const data = [
  ["이름", "생일", "월급"],
  ["홍길동", new Date(1990, 1, 1), 3000000],
  ["김철수", new Date(1995, 5, 15), 2500000],
  ["이영희", new Date(1988, 11, 25), 4000000]
];

// 워크시트 생성
const worksheet = XLSX.utils.aoa_to_sheet(data);

// 날짜 및 통화 서식 설정
worksheet["B2"].z = "yyyy-mm-dd"; // 날짜 형식
worksheet["C2"].z = "₩#,##0";     // 통화 형식

// 워크북 생성
const workbook = XLSX.utils.book_new();
XLSX.utils.book_append_sheet(workbook, worksheet, "Sheet1");

// 파일 다운로드
XLSX.writeFile(workbook, "formatted_example.xlsx");

 


요약

  1. SheetJS를 사용하면 간단히 Excel 파일을 생성할 수 있습니다.
  2. xlsx-style로 셀 스타일을 지정할 수 있습니다.
  3. 셀 서식을 설정하려면 z 속성을 활용하세요.
LIST