Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

172
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!