Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/05/2015, 18:34
uryuyiuhj
 
Fecha de Ingreso: mayo-2015
Mensajes: 3
Antigüedad: 9 años, 6 meses
Puntos: 0
Pregunta contar los registros iguales de una columna carga de excel - windowsforms

Hola chic@s soy algo nuevo en esto de programar en .net; por favor si alguien pudiese ayudarme se los agradesco mucho.

Mi problema es este, tengo un documento cargado de excel en un datagrid view, entonces el excel tiene una columna como esta:

color
azul
amarrillo
verde
azul
azul
verde

en la cual necesito contar cuantos registros en total de color azul tiene la columna y el resultado mandarlo a un label(es decir mandar el resultado 3 a un label)
pero algo pasa y no me los cuenta.
El codigo que uso para hacer eso es este:


public void contar(string archivo, string hoja)
{
//hoja es la hoja seleccionada del documento excel y archivo es la direccion de //este
string consultaHojaExcel = "Select count(color) from [" + hoja + "$] where color='azul'";
string cadenaConexionArchivoExcel = "provider=Microsoft.Jet.OLEDB.4.0;Data Source='" + archivo + "';Extended Properties=Excel 8.0";

try
{
using (OleDbConnection connection = new OleDbConnection(cadenaConexionArchivoExcel))
{
OleDbCommand command = new OleDbCommand(consultaHojaExcel, connection);
connection.Open();
OleDbDataReader reader = command.ExecuteReader();

if (reader.Read() == true)
{


label4.Text = Convert.ToString(reader["color"]);

}
reader.Close();
}
}
catch (Exception ex)
{
MessageBox.Show("Failed to connect to data source"+ex);
}

}

y me lanza este error failed to conect to data sourceSystem.IndexoutOfRangeException: color

espero a ver sido claro, y si pudiera ayudarme alguien estaria eternamente agradecido