forked from sheetjs/sheetjs
		
	
		
			
				
	
	
		
			20 lines
		
	
	
		
			729 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			20 lines
		
	
	
		
			729 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import { Controller, Logger, Post, UploadedFile, UseInterceptors } from '@nestjs/common';
 | |
| import { FileInterceptor } from '@nestjs/platform-express';
 | |
| import { readFile, utils } from 'xlsx';
 | |
| 
 | |
| @Controller('sheetjs')
 | |
| export class SheetjsController {
 | |
|   private readonly logger = new Logger(SheetjsController.name);
 | |
| 
 | |
|   @Post('upload-xlsx-file')
 | |
|   @UseInterceptors(FileInterceptor('file'))
 | |
|   async uploadXlsxFile(@UploadedFile() file: Express.Multer.File) {
 | |
|     // Open the uploaded XLSX file and perform SheetJS operations
 | |
|     const workbook = readFile(file.path);
 | |
|     const firstSheet = workbook.Sheets[workbook.SheetNames[0]];
 | |
|     const output = utils.sheet_to_csv(firstSheet);
 | |
|     this.logger.log(output);
 | |
|     return output;
 | |
|   }
 | |
| }
 |