Para acceder a los datos de un excel podemos crear una función como la siguiente:
public DataTable GetExcel(string filename, string sheetName)
{ OleDbConnection dbConn = null;
DataTable resultTable = new DataTable(sheetName); // Build connection string.
string connString = "Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source=" + filename +
";Extended Properties=Excel 8.0;";
// Create connection and open it.
dbConn = new OleDbConnection(connString);
dbConn.Open();
if (!sheetName.EndsWith("$"))
{
sheetName += '$';
}
string query = string.Format("SELECT * FROM [{0}]", sheetName);
using (OleDbDataAdapter adapter = new OleDbDataAdapter(query, dbConn))
{
adapter.Fill(resultTable);
}
return resultTable;
}
Y en nuestro código usarla así:
[…]
DataTable clientes;
clientes = GetExcel(Application.StartupPath + @"\MiExcel.xls", "Hoja1"); // Buscará el fichero donde esté el exe.
int numFilas = clientes.Rows.Count; // Cuidado, la primera fila se considera de títulos!
string nombre = clientes.Rows[5]["Nombre"].ToString(); // Valor de la fila 5 y columna con título “Nombre”.
[…]
No hay comentarios:
Publicar un comentario