취업/자바스크립트

[Node.js] text파일 읽어와서 excel파일로 저장하기.

카슈밀 2022. 7. 29. 15:12
반응형

text를 이전에 만들어놨는데, 파일 안 형식은 json파일과 동일하다.

[ {'이름': "홍길동", '나이':'70'}, {'이름': "홍길동2", '나이':'72'}, {'이름': "홍길동3", '나이':'70'}]

대충 위와 같이 이렇게 구성되어 있는데, 이를 읽어오기 위해서

fs모듈을 사용하고, xlsx를 사용하였다.

 

sheetjs보다 좋은게 너비 설정이 가능해서 참 좋네~(sheetjs는 이건 유료 기능)

// array 데이터 이용
const xlsx = require('xlsx');
const path = require('path');
const fs = require('fs');

let file = './해당 text.txt';
let textString;
fs.readFile(file, 'utf8',function(err, data) {
    textString = JSON.parse(data);
    const workbook = xlsx.utils.book_new();
    const worksheet = xlsx.utils.json_to_sheet(textString);

    worksheet["!cols"] = [
        { wpx : 30 },   // A열
        { wpx : 500 }   // B열
    ]
    
    xlsx.utils.book_append_sheet(workbook, worksheet, 'sheet1');
    xlsx.writeFile(workbook, path.join(__dirname, '내용 정리.xlsx'));
});

 

20분만에 다 만들어 적용했다.

이전에 만져본 적이 있다보니 쉽구만~

 

--- 참고 자료 ----

https://velog.io/@hahaha/Node.js-xlsx-%EB%AA%A8%EB%93%88

 

[Node.js] xlsx 모듈

비동기 방식2차원 배열 반환동기 방식이나, 비동기 방식 설정 가능json 객체 반환예제 파일XLSX.utils.sheet_to_csv : generates CSVXLSX.utils.sheet_to_txt : generates UTF16 Formatted TextXLSX

velog.io

https://wickedmagica.tistory.com/248

 

[Node.js] Excel 파일 생성하고 데이터 읽기

API : https://www.npmjs.com/package/xlsx ■ 엑셀 데이터 읽어오기  $ npm install xlsx ■ 엑셀 데이터 읽어오기 # 엑셀파일 # 소스코드  excel_file_read.js // @breif xlsx 모듈추출 const xlsx = requi..

wickedmagica.tistory.com

 

728x90