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
'백엔드 > NodeJs' 카테고리의 다른 글
[NodeJs] 사용자 비밀번호 암호화 하기 bcrypt (0) | 2021.04.29 |
---|---|
[NodeJs] 간단하게 데이터 베이스 사용하기 lowdb (0) | 2021.04.27 |
[NodeJs] Passport 사용 설명 및 예제 (0) | 2021.04.23 |
[NodeJs] Javascript를 활용한 크롤링 (데이터수집) (0) | 2021.04.14 |
[NodeJs / Express] 쿠키 삭제 (0) | 2021.04.12 |
댓글