Back/Node.js

Nodejs Excel Mysql

엑셀 파일을 넣었을 때 엑셀 양식에 맞춰 DB에 다 넣어야하는 경우가 생겼다.

 

엑셀은 처음 다뤄보는거라 난감했는데,

 

직접 작업을 해보니 엑셀보단 DB에 효율적으로 넣는게 좀 더 까다로웠다.



설치

npm -g install xlsx

    const excelProducts = xlsx.utils.sheet_to_json(excelFile.Sheets["Sheet1"], {
        raw: false,
        header: 1,
        dateNF: 'yyyy-mm-dd',
        blankrows: false,
    })

엑셀파일의 Sheet1번을 읽어 온다.

Node내에서 엑셀을 읽을 때는 엑셀 파일을 읽어야 하는데,

1. 엑셀 파일을 서버 file에 저장한다.

2. file에 저장된 엑셀을 읽고, 필요없어진 엑셀 파일은 바로 삭제 한다.

이런 순서로 작업을 했다.

 

실제 작업 파일
controller.js

exports.add = async (req, res, next) => {
    try {
        const excelSheet = await logic.reviewJuJakExcel();
        const [multInsertQuery, insertContent] = await logic.reviewQuery(excelSheet);
        const [insertReviewk] = await mysqlWrite.query(multInsertQuery, insertContent);
        return res.status(200).json({msg : "success"});
    } catch(err) {
        console.log(err);
        return res.status(400).json({ msg : "fail" });
    }
};

쿼리를 만드는 모듈을 만들었고, 엑셀에 있는 것을 DB에 넣는 쿼리를 만든 후
controller.js에서 DB작업 처리했다.

 

 

 

 

 

 

'Back > Node.js' 카테고리의 다른 글

[Node.js] express 폴더 구조 변경  (0) 2021.10.17
AWS RDS AURORA + NODEJS  (0) 2021.10.15
Node.js Slack Error Logging slack-node (노드JS 슬랙 에러 로깅)  (0) 2021.10.04
node.js ssl & https  (0) 2021.05.15
Node.js Mongodb aggregate lookup  (0) 2021.05.12