Jun 개발노트

노드에서 엑셀을 다뤄보자

January 16, 2020

엑셀은 csv, xlsx 확장자에 따라 모듈을 사용한다.

  1. csv는 줄을 기준으로 배열을 나누며, 콤마를 기준으로 인덱싱을 한다.
  2. xlsx는 첫줄을 key로 지정하며, 아래있는 줄을 value로 인식하여 하나의 Json 객체를 만들어 배열에 담아 리턴한다.
const fs = require('fs');

/********** csv 확장자에서 가져오기 **********/
const csv = require('csv-parse/lib/sync');
const file = fs.readFileSync('./excel/파일명.csv');
const rs = csv(file.toString('utf-8'));
console.log(rs);

/********** xlsx 가져오기 **********/
const xlsx = require('xlsx');
const file_xlsx = xlsx.readFileSync('./excel/파일명.xlsx');
//읽어온 파일에서.Sheets.시트명을 하면 첫번째줄을 키 값으로 아래줄을 벨류 값으로 불러온다  
const movie = file_xlsx.Sheets.movie;
const rs2 = xlsx.utils.sheet_to_json(movie);
console.log(rs2);

Written by Junho You 배운것을 기록하자