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; | ||
|  |   } | ||
|  | } |