Estoy tratando de exportar mi tabla html a un archivo de Excel, usando la biblioteca SheetJS . Este es mi código:
<script src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.17.2/xlsx.full.min.js" ></script> <script> var a = document.getElementById("new_table"); var fp=XLSX.utils.table_to_book(a,{sheet:"table"}); XLSX.write(fp,{ bookType:'xlsx', type:'base64' }); XLSX.writeFile(fp,"table.xlsx"); </script> Mi tabla html tiene una columna llamada fechas donde todas las fechas están en cadena, es decir, 04/10/2021, 05/11/2021, etc. y otra columna llamada ID donde todos los valores son cadenas de 11 dígitos, es decir, 11P02399018, etc.
Pero en mi archivo table.xlsx , los ID se muestran en notación científica y las fechas se muestran como ######. Cuando paso el cursor sobre el valor #####, la fecha es como 04-10-2021, 05-11-2021, etc. ¿Por qué? ¿Cómo puedo solucionar esto?
Además, en ID como 01480EI2104, el 0 anterior se elimina en el archivo de Excel, es decir, se convierte en 1480EI2104.
Si las fechas se muestran como ######, eso significa que sus columnas no son lo suficientemente anchas para ajustarse al contenido. Puede abrir el archivo y ampliar esas columnas, o puede hacerlo con código:
ws['!cols'] = wscols Donde ws es la hoja de trabajo y wscols es una matriz de objetos de propiedades de columna, como este: {wch: 18}