[PROGRAMACION] A partir de una tabla HTML generar Excel

A partir de una tabla HTML que tengo me gustaría generar un fichero Excel.Esto consigo hacerlo.

Si abro el fichero Excel generado desde una tabla HTML y un fichero Excel creado por el propio Excel, con un editor de notas, las cabeceras son distintas; por lo que se podrían diferenciar ambos ficheros, es más en el creado "via web" se puede ver el HTML.

¿Existe la posibilidad de crear ficheros idénticos aunque uno sea creado por una vía y el otro por otra vía? Quiero que el fichero creado "via web" no deje traza de HTML por decirlo de alguna manera.
Buenas!

Cómo generar las tablas desde el html?
Te lo digo porque Excel abre archivos .csv, .xls, .xlsx etc

Para generar archivos.xsl desde JavaScript hay alguna librería que lo hace bastante bien, y desde php tienes por ejemplo esto https://github.com/PHPOffice/PhpSpreadsheet

Un saludo
Newton escribió:A partir de una tabla HTML que tengo me gustaría generar un fichero Excel.Esto consigo hacerlo.

Si abro el fichero Excel generado desde una tabla HTML y un fichero Excel creado por el propio Excel, con un editor de notas, las cabeceras son distintas; por lo que se podrían diferenciar ambos ficheros, es más en el creado "via web" se puede ver el HTML.

¿Existe la posibilidad de crear ficheros idénticos aunque uno sea creado por una vía y el otro por otra vía? Quiero que el fichero creado "via web" no deje traza de HTML por decirlo de alguna manera.


Si eres solvente en Java, con la libreria Apache POI: https://poi.apache.org/ puedes generar ficheros excel de forma bastante comoda y profesional, si eso lo juntas con scraping HTML mediante JSoup: https://jsoup.org/ imagino que no dejará traza de que ha sido generado de forma externa a lo que es excel.

Personalmente utilizo ambas librerias profesionalmente, pero nunca he mirado si deja rastro en las cabeceras. Al menos te puedo asegurar que de HTML no deja rastro alguno, mas que nada porque primero obtendrias los elementos con JSoup y luego los trasladarias a Excel mediante Apache POI.
2 respuestas