Pregunta

Tengo el siguiente código de aquí para leer un archivo de Excel usando C # .NET:

string connectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Book1.xls;Extended Properties=""Excel 8.0;HDR=YES;""";
DbProviderFactory factory = DbProviderFactories.GetFactory("System.Data.OleDb");
DbCommand command = connection.CreateCommand()
command.CommandText = "SELECT City,State FROM [Cities$]";

Quiero seleccionar solo 10 filas a partir de la cuarta fila, ¿cómo puedo hacer eso?

¿Fue útil?

Solución

No soy un experto en consultas de Excel, pero esto ciertamente funciona. Use TOP para limitar la consulta a 13 filas. La primera fila es el encabezado con los nombres de las columnas, por lo que puede no contar. Obviamente cambiaré si no lo entiendo. Luego, realice un seguimiento de una ID de fila y haga cosas en filas en 4. o después de eso.

¡Espero que esto ayude!

string connectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Book1.xls;Extended Properties=""Excel 8.0;HDR=YES;""";
using (System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection(connectionString)) {
    System.Data.OleDb.OleDbCommand cmd = new System.Data.OleDb.OleDbCommand();
    cmd.Connection = conn;
    cmd.CommandText = "SELECT top 13 City,State FROM [Cities$]";

    conn.Open();
    System.Data.IDataReader dr = cmd.ExecuteReader();

    int row = 2;
    while (dr.Read()) {
        if (row++ >= 4) {
            // do stuff
            Console.WriteLine("{0}, {1}", dr[0], dr[1]);
        }
    }
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top