[typescript] 타입스크립트에서 MongoDB 데이터를 Excel 파일로 내보내는 방법

이 기술 블로그에서는 타입스크립트에서 MongoDB의 데이터를 Excel 파일로 내보내는 방법에 대해 설명합니다. 이를 위해 exceljs 패키지를 사용하여 Excel 파일을 생성하고, mongoose 패키지를 사용하여 MongoDB 데이터베이스에 연결하여 데이터를 가져올 것입니다.

필요한 패키지 설치하기

먼저, exceljsmongoose 패키지를 설치해야 합니다. 아래 명령어를 사용하여 패키지를 설치합니다.

npm install exceljs mongoose

MongoDB에서 데이터 가져오기

데이터를 내보내려면 MongoDB에서 데이터를 가져와야 합니다. 다음은 mongoose를 사용하여 MongoDB에서 데이터를 가져오는 예제 코드입니다.

import mongoose from 'mongoose';

// MongoDB 연결
mongoose.connect('mongodb://localhost:27017/mydatabase', { useNewUrlParser: true, useUnifiedTopology: true });

// 데이터 모델 정의
interface IData {
  name: string;
  age: number;
}

const DataModel = mongoose.model<IData>('Data', new mongoose.Schema({
  name: String,
  age: Number
}));

// 데이터 가져오기
const data = await DataModel.find().exec();

Excel 파일 생성 및 데이터 내보내기

이제 exceljs를 사용하여 Excel 파일을 생성하고, 가져온 데이터를 해당 파일에 쓸 것입니다. 아래는 Excel 파일을 생성하고 데이터를 내보내는 예제 코드입니다.

import ExcelJS from 'exceljs';

// Excel 파일 생성
const workbook = new ExcelJS.Workbook();
const worksheet = workbook.addWorksheet('My Sheet');

// 엑셀 열 헤더 추가
worksheet.columns = [
  { header: 'Name', key: 'name', width: 20 },
  { header: 'Age', key: 'age', width: 10 }
];

// 데이터 쓰기
data.forEach((item) => {
  worksheet.addRow(item);
});

// 파일 저장
await workbook.xlsx.writeFile('data.xlsx');

위 코드를 실행하면 MongoDB에서 가져온 데이터가 data.xlsx라는 Excel 파일로 내보내집니다.

이제 타입스크립트에서 MongoDB 데이터를 Excel 파일로 내보내는 방법에 대한 기본적인 이해를 얻었습니다. 다양한 형식으로 데이터를 내보내고 추가적인 설정을 해보시기 바랍니다.

참고 자료