Skip to content

This Spring Boot application is designed to facilitate generic CSV file uploads with a focus on flexibility and ease of use. The primary goal of this project is to allow users to upload CSV files.

Notifications You must be signed in to change notification settings

Andresp08/springBoot-file-upload

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SpringBoot File Upload

Swagger Documentation

file upload success

Upload files with springboot using opencsv

If you want to use this generic file upload without the anotation @CsvBindByName, you can replace the GenericCsvParseToEntity methods for:

public Set<Entity> parseCsvToEntity(MultipartFile file, Class<Entity> entityClass) throws IOException,  
CsvValidationException {  
    Set<Entity> entities = new HashSet<>();  
  
	    try (CSVReader reader = new CSVReader(new InputStreamReader(file.getInputStream()))) {  
		    String[] header = reader.readNext();  
		    String[] line;  
		      
		    while ((line = reader.readNext()) != null) {  
		    Entity entity = buildEntity(header, line, entityClass);  
		    entities.add(entity);  
	    }  
    }    
    return entities;  
}  
  
private Entity buildEntity(String[] header, String[] line, Class<Entity> entityClass) {  
    try {  
	    Entity entity = entityClass.getDeclaredConstructor().newInstance();  
	      
	    for (int i = 0; i < header.length; i++) {  
	    String columnName = header[i];  
	    String cellValue = line[i];  
	      
	    Field field = entityClass.getDeclaredField(columnName);  
	    field.setAccessible(true);  
	      
	    if (field.getType() == String.class) {  
		    field.set(entity, cellValue);  
	    } else if (field.getType() == int.class) {  
		    field.set(entity, Integer.parseInt(cellValue));  
	    }    
	    field.setAccessible(false);  
    }  
    return entity;  
    } catch (Exception e) {  
	    throw new RuntimeException("Error al construir entidad", e);  
    }  
 }

About

This Spring Boot application is designed to facilitate generic CSV file uploads with a focus on flexibility and ease of use. The primary goal of this project is to allow users to upload CSV files.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages