Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

174
Vistas
Xlsx nombre de hoja que supera los 31 caracteres de longitud en reaccionar

Estoy usando reaccionar para obtener datos de la tabla de la base de datos y exportarlos como Excel y hacer que el título de Excel sea el nombre de la tabla. Pero me enfrento a un problema si el nombre del archivo de Excel supera los 31 caracteres, la hoja no se descarga. Y lanzando el siguiente error en la salida de la consola del navegador.

 Uncaught Error: Sheet names cannot exceed 31 chars

Aquí está mi código a continuación

 var workbook=XLSX.utils.book_new(); workbook.SheetNames.push(title); //title: tablename var workSheet=XLSX.utils.aoa_to_sheet(tableData); //tableData: data from Database workbook.Sheets[title]=workSheet; var output=XLSX.write(workbook, {bookType:'xlsx', type:'binary'}); function s2ab(s) { var buf = new ArrayBuffer(s.length); var view = new Uint8Array(buf); for (var i=0; i!=s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF; return buf; } saveAs(new Blob([s2ab(output)], {type:"application/octet-stream"}), title + '.xlsx');

Editar: no quiero cambiar el nombre de la hoja. Solo quería reaccionar para descargar incluso si los nombres de las hojas superan los 31 caracteres

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Resuelto haciendo los siguientes cambios.

 var workbook=XLSX.utils.book_new(); //workbook.SheetNames.push(title); //title: tablename var workSheet=XLSX.utils.aoa_to_sheet(tableData); //tableData: data from Database //workbook.Sheets[title]=workSheet; XLSX.utils.book_append_sheet(workbook, workSheet, "Test"); // This line solve the problem var output=XLSX.write(workbook, {bookType:'xlsx', type:'binary'}); function s2ab(s) { var buf = new ArrayBuffer(s.length); var view = new Uint8Array(buf); for (var i=0; i!=s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF; return buf; } saveAs(new Blob([s2ab(output)], {type:"application/octet-stream"}), title + '.xlsx');
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda