Springboot implementa la descarga de archivos de Excel

1. Estructura del proyecto (dirección de la plantilla de Excel)

2. Código de fondo

Donde ClassPathResource es org.springframework.core.io.ClassPathResource;


  
   
   
  1. /**
  2. * Descarga de plantilla de Excel de horas de trabajo
  3. * respuesta @param
  4. */
  5. @RequestMapping("/workHoursExcel")
  6. public void downloadWorkHourRecordTemplate (respuesta HttpServletResponse) {
  7. prueba {
  8. Resource resource = new ClassPathResource( "WorkHoursRecordTemplate/Excel batch import work hours template.xlsx" );
  9. Archivo archivo = recurso.getFile();
  10. String nombre de archivo = recurso.getFilename();
  11. InputStream inputStream = nuevo FileInputStream(archivo);
  12. //Forzar descarga no abre
  13. respuesta.setContentType( "aplicación/descarga forzada" );
  14. OutputStream out = respuesta.getOutputStream();
  15. //Utilice URLEncoder para evitar nombres de archivos ilegibles o errores de lectura
  16. respuesta.setHeader( "Contenido-Disposición" , "archivo adjunto; nombre de archivo=" + URLEncoder.encode(nombre de archivo, "UTF-8" ));
  17. int b = 0 ;
  18. byte [] búfer = nuevo byte [ 1000000 ];
  19. mientras (b != - 1 ) {
  20. b = flujo de entrada. leer (búfer);
  21. si (b != - 1 ) {
  22. out.write(búfer, 0 , b);
  23. }
  24. }
  25. inputStream.close();
  26. fuera.cerrar();
  27. out.flush();
  28. } captura (IOException e) {
  29. e.printStackTrace();
  30. }
  31. }

3. Parte delantera

<a href='/easypoi/workHoursExcel'></a>

Supongo que te gusta

Origin blog.csdn.net/weixin_42273775/article/details/119760051
Recomendado
Clasificación