Saltar al contenido

Cómo leer una hoja de cálculo de Excel en C# rápidamente

Si hallas alguna incompatibilidad en tu código o trabajo, recuerda probar siempre en un entorno de testing antes aplicar el código al trabajo final.

Solución:

Hola, encontré una manera mucho más rápida.

Es mejor leer todos los datos de una sola vez usando “get_range”. Esto carga los datos en la memoria y puedo recorrerlos como un usuario normal array.

Microsoft.Office.Interop.Excel.Range range = gXlWs.get_Range("A1", "F188000");
object[,] values = (object[,])range.Value2;
int NumRow=1;
while (NumRow < values.GetLength(0))

    for (int c = 1; c <= NumCols; c++)
    
        Fields[c - 1] = Convert.ToString(values[NumRow, c]);
    
    NumRow++;

Hay varias opciones, todas involucran alguna biblioteca adicional:

  • OpenXML 2.0 (biblioteca gratuita de MS) se puede usar para leer/modificar el contenido de un .xlsx para que pueda hacer con él lo que quiera

  • algunas bibliotecas (comerciales) de terceros vienen con controles de cuadrícula que le permiten hacer mucho más con archivos de Excel en su aplicación (ya sea Winforms/WPF/ASP.NET...) como SpreadsheetGear, Aspose.Cells, etc.

Aquí puedes ver las comentarios y valoraciones de los lectores

Si sostienes alguna indecisión y forma de enriquecer nuestro post te recordamos añadir una crónica y con gusto lo observaremos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *