-
往往我们在做数据的时候,常常用到excel去完成信息的录入,所以此次,我们就现在去实现这个功能
// 前端代码 <input type="file" @change="change" /> const formData = new FormData(); formData.append('file', e.target.files[0]) uploadFile(formData).then((res:any) => { console.log(res) })
-
nestjs 的代码部分
我们使用exceljs来进行堆excel进行解析npm install exceljs
我们封装一个方法也可以直接使用
// excel.service.ts import { Injectable } from '@nestjs/common'; import * as ExcelJS from 'exceljs'; @Injectable() export class ExcelService { async readExcel(file: any) { const workbook = new ExcelJS.Workbook(); await workbook.xlsx.load(file); return workbook; } }
在调用的时候
@Post('upload') @UseInterceptors(FileInterceptor('file')) async upload(@UploadedFile() file: any) { console.log('.........', file); const workbook = await this.excelService.readExcel(file.buffer); console.log(workbook.getWorksheet()); const worksheet = workbook.worksheets[0]; const rows = []; worksheet.eachRow((row) => { const rowData = []; row.eachCell((cell) => { rowData.push(cell.value); }); rows.push(rowData); }); console.log('.........', rows); // 下面自己进行逻辑处理,也可以为了防止报错,使用try...catch... } }
09-06