1. Estructura del proyecto (dirección de la plantilla de Excel)
2. Código de fondo
Donde ClassPathResource es org.springframework.core.io.ClassPathResource;
-
/**
-
* Descarga de plantilla de Excel de horas de trabajo
-
* respuesta @param
-
*/
-
@RequestMapping("/workHoursExcel")
-
public void downloadWorkHourRecordTemplate (respuesta HttpServletResponse)
{
-
prueba
{
-
Resource resource = new ClassPathResource( "WorkHoursRecordTemplate/Excel batch import work hours template.xlsx" );
-
Archivo archivo = recurso.getFile();
-
String nombre de archivo = recurso.getFilename();
-
InputStream inputStream = nuevo FileInputStream(archivo);
-
//Forzar descarga no abre
-
respuesta.setContentType( "aplicación/descarga forzada" );
-
OutputStream out = respuesta.getOutputStream();
-
//Utilice URLEncoder para evitar nombres de archivos ilegibles o errores de lectura
-
respuesta.setHeader( "Contenido-Disposición" , "archivo adjunto; nombre de archivo=" + URLEncoder.encode(nombre de archivo, "UTF-8" ));
-
int
b = 0 ;
-
byte
[] búfer = nuevo byte [ 1000000 ];
-
mientras
(b != - 1 ) {
-
b = flujo de entrada. leer (búfer);
-
si
(b != - 1 ) {
-
out.write(búfer, 0 , b);
-
}
-
}
-
inputStream.close();
-
fuera.cerrar();
-
out.flush();
-
} captura (IOException e) {
-
e.printStackTrace();
-
}
-
}
3. Parte delantera
<a href='/easypoi/workHoursExcel'></a>