Saltar al contenido

Java Spring Boot descargar archivo csv con ejemplo de código de selección

Este grupo de especialistas pasados algunos días de investigación y de recopilar de información, obtuvimos la solución, nuestro deseo es que te resulte útil en tu trabajo.

Ejemplo: descargar el archivo csv spring boot

packagenet.codejava;importjava.io.IOException;importjava.text.DateFormat;importjava.text.SimpleDateFormat;importjava.util.Date;importjava.util.List;importjavax.servlet.http.HttpServletResponse;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.stereotype.Controller;importorg.springframework.web.bind.annotation.GetMapping;importorg.supercsv.io.CsvBeanWriter;importorg.supercsv.io.ICsvBeanWriter;importorg.supercsv.prefs.CsvPreference;@ControllerpublicclassUserController@AutowiredprivateUserServices service;@GetMapping("/users/export")publicvoidexportToCSV(HttpServletResponse response)throwsIOException
        response.setContentType("text/csv");DateFormat dateFormatter =newSimpleDateFormat("yyyy-MM-dd_HH-mm-ss");String currentDateTime = dateFormatter.format(newDate());String headerKey ="Content-Disposition";String headerValue ="attachment; filename=users_"+ currentDateTime +".csv";
        response.setHeader(headerKey, headerValue);/*This is where you receive the data which you wanna export to csv*/List<User> listUsers = service.listAll();ICsvBeanWriter csvWriter =newCsvBeanWriter(response.getWriter(),CsvPreference.STANDARD_PREFERENCE);String[] csvHeader ="User ID","E-mail","Full Name","Roles","Enabled";String[] nameMapping ="id","email","fullName","roles","enabled";
         
        csvWriter.writeHeader(csvHeader);for(User user : listUsers)
            csvWriter.write(user, nameMapping);
         
        csvWriter.close();

Más adelante puedes encontrar las interpretaciones de otros creadores, tú asimismo eres capaz insertar el tuyo si dominas el tema.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *