728x90

프로젝트를 진행하다보면

목적은 다양하지만 결국 엑셀 출력기능을 사용하게된다.

어드민, 거래처 요구사항 등...

(대시보드가 있지만, 회사내적으로 파일로 관리를 해야한다나..)

 

그래서 이래저래 유용한 엑셀 출력기능을 알아보려고한다.

사용법도 간단하며 매우 유용한 기능이니 필요할때 한번씩 열람해서 보도록하자.

 

먼저, 아래와 같이 라이브러리를 설치하자.

npm i xlsx

(참고로, 해당 라이브러리는 브라우저와 nodejs에서 모두 사용가능하다.)

 

자, 이제 데이터를 엑셀로 출력해보자.

import XLSX from 'xlsx';

const data = [
  {
    index: 1,
    name: 'apple',
    price: '1,200'
  },
  {
    index: 2,
    name: 'grape',
    price: '3,500'
  },
  {
    index: 3,
    name: 'strawberry',
    price: '5,500'
  }
];

const exportDataToXlsx = ({ data, filename }) => {
  const worksheet = XLSX.utils.json_to_sheet(data); // excel sheet하단의 worksheet에 해당
  const new_workbook = XLSX.utils.book_new(); // excel 파일에 해당
  
  XLSX.utils.book_append_sheet(new_workbook, worksheet, 'SheetJS'); // excelsheet를 excel파일에 넣음
  XLSX.writeFile(new_workbook, filename + '.xlsx');
}

 

이와 같이 매우 짧고 간단한 코드로 간단히 excel파일을 출력할 수 있다.

응용한다면, data의 타입이나 기간등에 따라 sheet를 나누어 출력하거 파일을 구분할수도있을것 같다.

 

그 또한 매우 간단하지만, 비개발자 입장에서는 매우 고급기술처럼 보일수있다.

잘 알아뒀다가 고급기술인척 해보도록하자.

728x90
반응형