본문 바로가기
백엔드/NodeJs

[NodeJs] Javascript로 엑셀 파일 생성 및 저장 불러오기

by jinwanseo 2021. 4. 24.
728x90

NodeJs를 활용하여 Javascript로 엑셀 파일 생성 및 저장 불러오기

 

javascript로 데이터를 저장할때

xlsx 로 저장을 많이 하게되는데

구현 방법은 아래와 같이 간단하다.

  샘플 코드

// Excel Test
//로직 흐름 : 
//엑셀 워크북 생성 -> 엑셀 시트 생성 -> 대표행(타이틀행) 설정 및 입력 -> 데이터 입력 -> 저장

//비동기 함수 생성
async function ExcelTest(){
  //엑셀 워크북 생성 및 시트 생성
  const workbook = new Excel.Workbook();
  const worksheet = workbook.addWorksheet("My Sheet");

  //대표행(타이틀행) 설정 및 입력
worksheet.columns = [
  {header: 'Id', key: 'id', width: 10},
  {header: 'Name', key: 'name', width: 35}, 
  {header: 'Birth', key: 'birth', width: 15},
];

//데이터 추가 (행단위 추가)
worksheet.addRow({id: 1, name: 'Hong', birth: new Date().toLocaleDateString()});
worksheet.addRow({id: 2, name: 'Kim', birth: new Date().toLocaleDateString()});

//엑셀 데이터 저장
await workbook.xlsx.writeFile('export.xlsx');

////👆👆👆 여기까지가 엑셀 저장 👆👆👆

////👇👇👇 여기서부터 기존 엑셀파일에 추가 데이터 입력 👇👇👇

//엑셀 데이터 읽고 워크북 불러오기
const newWorkbook = new Excel.Workbook();
await newWorkbook.xlsx.readFile('export.xlsx');

//엑셀 시트 불러오기
const newworksheet = newWorkbook.getWorksheet('My Sheet');

//데이터 추가 (행단위 추가)
newworksheet.addRow(
  {id: 3, name: 'Lee', date: new Date().toLocaleDateString()}
);

//다른이름으로 저장 (기존 파일명과 같으면 덮어쓰기)
await newWorkbook.xlsx.writeFile('export2.xlsx');

//종료
console.log("끝!");
};


//함수실행
ExcelTest();

 

코드를 보면 내부 로직을 이해할수 있게

다양하지만 간단하게 코드를 작성해 보았다.

기타 설명은 주석을 통해 작성하였다.

728x90

댓글