반응형
NestJS 에서는 파일 업로드시 메모리에서 읽는 방식(MemoryStorage)
과 디스크에서 읽는 방식(DiskStorage) 으로 구성되어 있다.
아래 방법은 DiskStorage 를 사용했을때, 해당 경로에 있는 Excel 파일을 읽어서 출력해주는 방법이다.
1. npm 설치
npm install exceljs
2. 많은 예제를 참고하여 DiskStorage 으로 구성되어 있을 경우 file.path 를 이용하여 파일 경로를 읽어서 엑셀 파일 내용을 읽어 온다.
import { Cell, Row, Workbook } from 'exceljs';
...
// 엑셀 업로드
@Post('uploadExcel')
@UseInterceptors(FileInterceptor('file'))
async uploadExcel(
@UploadedFile() file : Multer.file) {
...
var workbook = new Workbook();
await workbook.xlsx.readFile(file.path);
var sheet = workbook.worksheets[0];
// 1 ~ N ROW
var rows : Row[] = sheet.getRows(1, sheet.rowCount);
var cell : Cell;
rows.forEach(row => {
// 1 ~ N Cell
row.eachCell((cell: Cell, colNumber: number)=>{
Logger.debug("colNumber, cell value ", cell.value, colNumber);
})
});
....
}
반응형
'Programming > Node.js' 카테고리의 다른 글
[NestJS] create excel download by exceljs (2) | 2024.12.06 |
---|---|
[NestJS] Image file download with Url (0) | 2024.12.06 |
[NestJS] Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client (0) | 2024.12.02 |
[NestJS] Handlebars template in hbs(Handlebars) (0) | 2024.11.26 |
[NestJS] Table leftJoin with Mysql2 (0) | 2024.11.24 |