[WinForms - How To] Importar desde Excel a un DataGridView
En esta época donde la información abunda, obtener datos desde un archivo de Microsoft Excel es algo común. Por eso, traigo aquí una manera de cargar un DataGridView a partir de un Excel.
Los pasos son muy sencillos. Primero escribimos el siguiente código:
//Obtenemos el archivo desde la ubicación actual var executableFolderPath = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location); //Hoja desde donde obtendremos los datos string hoja = "Hoja1"; //Cadena de conexión string conexion = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + executableFolderPath + "\\Registros.xlsx" + ";Extended Properties='Excel 8.0;HDR=YES;';"; OleDbConnection con = new OleDbConnection(conexion); //Consulta contra la hoja de Excel OleDbCommand cmd = new OleDbCommand("Select * From [" + hoja + "$]", con); try { //Conectarse al archivo de Excel con.Open(); OleDbDataAdapter sda = new OleDbDataAdapter(cmd); DataTable data = new DataTable(); //Cargar los datos sda.Fill(data); //Cargar la grilla dataGridView1.DataSource = data; } catch { //Error leyendo excel MessageBox.Show("Ocurrió un error en la lectura del archivo"); } finally { //Funcione o no, cerramos la cadena de conexión con.Close(); }Y luego ejecutamos la aplicación. Nos trae los datos de la siguiente manera:

De esta manera, muy sencilla, podemos leer los datos desde un archivo Excel y cargarlo en el control DataGridView de un formulario Windows.