노드에서 엑셀을 다뤄보자
2020-01-16
엑셀은 csv, xlsx 확장자에 따라 모듈을 사용한다.
- csv는 줄을 기준으로 배열을 나누며,
콤마
를 기준으로 인덱싱을 한다. - 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);