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