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

427
Vistas
js-xlsx: obtenga filas particulares de la hoja de Excel

Tengo una hoja de Excel que tiene 500 filas. Estoy tratando de obtener las filas de 101 a 200.

Busqué en Google y encontré un ejemplo para obtener filas iniciales, por ejemplo, 1 a 100 o 1 a 1000, o incluso 1 a cualquier número.

Pero no he encontrado ningún código para obtener filas desde la fila m a la fila n (aquí 'm' y 'n' pueden ser cualquier número, por ejemplo, m = 101 a n = 200)

A continuación se muestra el código que he encontrado para obtener las primeras 100 filas:

 let workbook = XLSX.readFile('./files/uploaded_files/testfile.xlsx', {sheetRows: 100}) const wsname = workbook.SheetNames[0]; const ws = workbook.Sheets[wsname]; var exceldata = XLSX.utils.sheet_to_json(ws);

Incluso si hay algún otro módulo para obtener las filas intermedias, me gustaría saber si hay alguno.

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

0

Usando un ejemplo más pequeño de:

ingrese la descripción de la imagen aquí

Hay varias opciones:

Puede usar su enfoque actual y sheet_to_json slice ejemplo

 // option 1 const maxRow = 6; const minRow = 3; const wb = XLSX.readFile("./Book1.xlsx", {sheetRows: maxRow}); const ws = wb.Sheets[wb.SheetNames[0]]; let data = XLSX.utils.sheet_to_json(ws); data = data.slice(minRow <= 2 ? 0 : minRow - 2); console.log(data);

Es minRow - 2 para tener en cuenta que 1 fila son encabezados y que la otra 1 es para incluir la fila 3, no para excluirla. Esto produce:

 [ { a: 4, b: 5, c: 6 }, { a: 7, b: 8, c: 9 }, { a: 10, b: 11, c: 12 }, { a: 13, b: 14, c: 15 } ]

Otra opción es combinar el uso de las opciones de range y header (ver aquí ). range le permite controlar qué rango considera sheet_to_json y el header se usa para definir las claves utilizadas en la matriz de objetos de salida.

Puede usar esto después de importar todo el archivo o continuar usando la opción sheetRows también, por ejemplo:

 // option 2 const importRange = "A3:F6"; const headers = ["a", "b", "c"]; const wb = XLSX.readFile("./Book1.xlsx"); // not using sheetRows const ws = wb.Sheets[wb.SheetNames[0]]; const data = XLSX.utils.sheet_to_json(ws, {range: importRange, header: headers}); console.log(data);

Que produce:

 [ { a: 4, b: 5, c: 6 }, { a: 7, b: 8, c: 9 }, { a: 10, b: 11, c: 12 }, { a: 13, b: 14, c: 15 } ]

Tenga en cuenta que si omite la opción de headers , el resultado es:

 [ { '4': 7, '5': 8, '6': 9 }, { '4': 10, '5': 11, '6': 12 }, { '4': 13, '5': 14, '6': 15 } ]

Porque los valores en la fila 3 se convierten en los nuevos encabezados predeterminados (que creo que probablemente no quieras).

Finalmente, si no conoce los encabezados de antemano, puede obtener una matriz de matrices y calcular los encabezados más tarde:

 // option 3 const importRange = "A3:F6"; const headers = 1; const wb = XLSX.readFile("./Book1.xlsx"); // not using sheetRows const ws = wb.Sheets[wb.SheetNames[0]]; const data = XLSX.utils.sheet_to_json(ws, {range: importRange, header: headers}); console.log(data);

Que produce:

 [ [ 4, 5, 6 ], [ 7, 8, 9 ], [ 10, 11, 12 ], [ 13, 14, 15 ] ]
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