Bueno, con este post espero complementar el post anterior:
Lo hago con angular, por que cuando me toco revisarlo en el trabajo use angular para hacerlo. Pero, me parece que encontrarán algunas funciones que les pueden servir, dado que son javascript puro.
Basicamente, tenemos una aplicación creada usando el tipico:
ng new app-name
Le he instalado algunas librerias para poder tener algo más decente que un alert, otras que las podrán revisar en el código fuente que como siempre dejo disponible. La demás lógica la he realizado en el «app.component» que se crea por defecto. Revisemos que hemos creado en nuestro «app.component.html».
Al html inicial que se genera con nuestro nuevo proyecto ded angular, estoy adicionandole un botón de carga.
app.component.ts
Acá, tenemos dos métodos, uno que nos permitirá descargar el array de bytes consumiendo el servicio, y el otro que obtendrá esta información, y lo descargará a nuestra máquina. Recordemos que si queremos que nuestro navegador abra una ventana para elegir donde guardar el archivo, se debe configurar en el mismo browser, de no ser así, el navegador lo descargará automáticamente en una carpeta (de descargas probablemente).
Finalmente, veamos que tenemos en nuestro servicio.
Como se puede ver, es necesario en el header, indicar que esperamos un tipo «blob». Hagamos ahora una prueba.
Recordemos que tenemos que tener el servicio corriendo en el mismo puerto en el que se está poniendo en el servicio.
Petición al servicio.
La petición, llega al endpoint.
Podemos ver acá la respuesta que estamos recibiendo de nuestro servicio.
Se descarga el archivo.
Bueno, así finalizamos esta serie de post de generar un archivo excel y descargarlo desde una web en angular. Espero que les sirva, dejo el video con la explicación y el codigo fuente en github por si les interesa.
REPO: GITHUB
Saludos.
11 comentarios