|    
			
				02/05/2013, 09:16
			
			
			  | 
  |   |  |  |  Fecha de Ingreso: abril-2013 
						Mensajes: 2
					 Antigüedad: 12 años, 6 meses Puntos: 0 |  | 
  |  Respuesta: Leer gran cantidad de celdas de un Excel y realizar operaciones con ellas  
  //**************************************************  *****************************            //Leer el path del archivo Excel que tiene los datos del cliente
 //Dimensionar los elementos necesarios para leer y cargar los datos
 OleDbConnection oConn = new OleDbConnection();
 OleDbCommand oCmd = new OleDbCommand();
 OleDbDataAdapter oDa = new OleDbDataAdapter();
 DataSet oDs = new DataSet();
 
 string rutaArchivo = "C:Cualquier ruta donde tienes el Excel a leer\\Prueba.xlsx";
 string dato = string.Empty, rut = string.Empty, nombre = string.Empty, cuentaCte = string.Empty, totalNomina = string.Empty, cantidadReg = string.Empty, fechaEfect = string.Empty, tipoAbono = string.Empty;
 //Atención: Esta es la cadena de conexión. La misma lee el archivo especificado en el path
 //Capturo la extensio, dependiendo difiere de la connectionstring
 if (Path.GetExtension(rutaArchivo).Equals(".xls"))
 {
 oConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + (rutaArchivo) + "; Extended Properties='Excel 8.0;HDR=YES;MaxScanRows=;IMEX=1;'";
 }
 else
 {
 oConn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + (rutaArchivo) + ";  Extended Properties='Excel 12.0;HDR=YES;MaxScanRows=;IMEX=1;'";
 }
 // Abrir la conexión, y leer [Hoja 1] del archivo Excel
 oConn.Open();
 oCmd.CommandText = "select * from [Hoja1$]";
 oCmd.Connection = oConn;
 oDa.SelectCommand = oCmd;
 
 //Llenar el DataSet
 oDa.Fill(oDs,"Clientes");
 
 DataTable tabla = oDs.Tables[0];
 //GridView para comprobar que todos los datos se estan pasando, luego lo sacas si quieres.
 GridView1.DataSource = tabla;
 GridView1.DataBind();
 
 
 //Recorres la tabla para capturas los datos. ese me servia ami, tu lo modificas a tu gusto.
 for (int uu = 0; uu < tabla.Rows.Count; uu++)
 {
 nombre = tabla.Rows[uu][1].ToString();
 cuentaCte = tabla.Rows[uu][2].ToString();
 rut = tabla.Rows[uu][3].ToString();
 totalNomina = tabla.Rows[uu][4].ToString();
 cantidadReg = tabla.Rows[uu][5].ToString();
 
 }
 oConn.Close();
 
 
 Espero que te sirva
     |