excel 모듈
- 비동기 방식
- 2차원 배열 반환
$ npm i xlsx
// 방법1
const xlsx = require('xlsx');
// 방법2
import * as xlsx from 'xlsx';
const workbook = xlsx.read(data, read_opts);
const workbook = xlsx.readFile(filename, read_opts);
// 첫 번째 시트 이름
const sheetName = workbook.SheetNames[0];
// 시트 이름에 따른 정보
const sheet = workbook.Sheets[sheetName];
// json 형태로 데이터 표시
const data = xlsx.utils.sheet_to_json(sheet);
// [ { name: 'kim', age: 23 }, { name: 'park', age: 24 } ]
XLSX.utils
(반대도 가능)
XLSX.utils.sheet_to_csv
: generates CSVXLSX.utils.sheet_to_txt
: generates UTF16 Formatted TextXLSX.utils.sheet_to_html
: generates HTMLXLSX.utils.sheet_to_json
: generates an array of objectsXLSX.utils.sheet_to_formulae
: generates a list of formulae
// array 데이터 이용
const xlsx = require('xlsx');
const path = require('path');
const arrayData = [['kim', 23], ['park', 24]];
const workbook = xlsx.utils.book_new();
const worksheet = xlsx.utils.aoa_to_sheet(arrayData);
xlsx.utils.book_append_sheet(workbook, worksheet2, 'sheet1');
xlsx.writeFile(workbook, path.join(__dirname, 'array_to_sheet_result.xlsx'));
// json 데이터 이용
const jsonData = [
{name: 'kim', age: 23},
{name: 'park', age: 24},
]
const workbook = xlsx.utils.book_new();
const worksheet = xlsx.utils.json_to_sheet(jsonData);
xlsx.utils.book_append_sheet(workbook, worksheet, 'sheet1');
xlsx.writeFile(workbook, path.join(__dirname, 'json_to_sheet_result.xlsx'));