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

455
Views
ERR Error: Se alcanzó el final de los datos (longitud de datos = 0, índice solicitado = 4). Cremallera corrupta?

estoy haciendo un bot de whatsapp, estoy guardando los chats en un archivo de excel (estoy usando exceljs) para leer y manejar algunas respuestas, prefiero usar promesas y resolverlas, tengo una función para leer chats:

 const readChat = (number, message, step = null) => new Promise((resolve, reject) => { setTimeout(() => { number = number.replace("@c.us", ""); number = `${number}@c.us`; const pathExcel = `./chats/${number}.xlsx`; const workbook = new ExcelJS.Workbook(); const today = moment().format("DD-MM-YYYY hh:mm"); if (fs.existsSync(pathExcel)) { const workbook = new ExcelJS.Workbook(); workbook.xlsx .readFile(pathExcel) .then(() => { const worksheet = workbook.getWorksheet(1); const lastRow = worksheet.lastRow; let getRowInsert = worksheet.getRow(++lastRow.number); getRowInsert.getCell("A").value = today; getRowInsert.getCell("B").value = message; if (step) { getRowInsert.getCell("C").value = step; } getRowInsert.commit(); workbook.xlsx .writeFile(pathExcel) .then(() => { const getRowPrevStep = worksheet.getRow(lastRow.number); const lastStep = getRowPrevStep.getCell("C").value; resolve(lastStep); }) .catch((err) => { console.log("ERR", err); reject("error"); }); }) .catch((err) => { console.log("ERR", err); reject("error"); }); } else { const worksheet = workbook.addWorksheet("Chats"); worksheet.columns = [ { header: "Fecha", key: "number_customer" }, { header: "Mensajes", key: "message" }, { header: "Paso", key: "step" }, ]; step = step || ""; worksheet.addRow([today, message, step]); workbook.xlsx .writeFile(pathExcel) .then(() => { resolve("STEP_1"); }) .catch((err) => { console.log("Error", err); reject("error"); }); } }, 1000); });

pero el código después de eso me da el error: ERR Error: se alcanzó el final de los datos (longitud de datos = 0, índice solicitado = 4). ¿Zip corrupto?, el resto, se supone que debe ejecutarse cuando no hay un Excel guardado con ese chat. He buscado en muchas preguntas y páginas, pero no he encontrado ninguna solución.

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Creo que obtendría este error después de detener su ejecución en el medio, es decir, cuando el archivo se actualiza y esto corrompería el archivo de Excel.

Podría intentar agregar un "intento de captura" alrededor del archivo de lectura en su condición if y crear una nueva copia del libro de trabajo cada vez que obtenga estos errores particulares ('Se alcanzó el final de los datos (longitud de datos = 0, índice solicitado = 4). ¿Zip corrupto? ' o 'Archivo no encontrado:')

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!