Los mas impotante es la cadena de conexion, ya que lo demás va a depender del proposito de cada uno... en este caso lo que hace es leer un archivo con extension xls o xlsx... almacenar en memoria y luego pasarlo a un dataset el cual posteriormente se graba en l bd.

Es importante si no lo tienen descargar el siguiente archivo:
http://www.microsoft.com/downloads/details.aspx?displaylang=es&FamilyID=7554f536-8c28-4598-9b72-ef94e038c891
que es el controlador que permite usar la cadena de conexion para abrir el tipo de archivos .xslx
En este ejemplo estoy ocupando OLEDB... pero si necesitan o requieren usar ODBC deben leer la info de la misma pagina de microsoft. (arriba).
try
{
//Asegurar que hay archivo
if (this.flupCargaPlantaExcel.HasFile)
{
string strExtension = "";
//Obtener el nombre
string strPlantasMasivas =
this.flupCargaPlantaExcel.PostedFile.FileName;
//obtener la extension
strExtension = this.flupCargaPlantaExcel.PostedFile.FileName.Subs tring(flupCargaPlantaExcel.Pos
tedFile.FileName.LastIndexOf("."));
if (strExtension == ".xls"|| strExtension == ".xlsx")
{
string strExtension = "";
string strPlantasMasivas =
this.flupCargaPlantaExcel.PostedFile.FileName;
strExtension =
this.flupCargaPlantaExcel.PostedFile.FileName.Subs tring(flupCargaPlantaExcel.Pos
tedFile.FileName.LastIndexOf("."));
ImportarExceldePlantas(strPlantasMasivas )
}
//AQUI EL OTRO METODO:******************************************* **
public static DataSet ImportarExceldePlantas(string strPath)
{
DataSet dtsPlantas = new DataSet();
try
{
string sFileConnectionString="";
string sFileSQL = "";
OleDbConnection objConn = new OleDbConnection();
OleDbCommand objCmd = new OleDbCommand();
OleDbDataAdapter objDa = new OleDbDataAdapter();
//personalizar
// Leer el path del archivo Excel que tiene los datos del cliente
// Si el archivo existe...
if (File.Exists(strPath))
{
// Atencion: Esta es la cadena de conexion (apta para archivos xlsx). La misma lee el archivo especificado en el path
objConn.ConnectionString = ("Provider=Microsoft.ACE.OLEDB.12.0;" +
("Data Source=" + (strPath + ";Extended Properties=\"Excel 12.0;HDR=YES\"")));
objConn.Open();
objCmd.CommandText = "SELECT * FROM [Hoja1$]";
objCmd.Connection = objConn;
objDa.SelectCommand = objCmd;
// Llenar el DataSet
objDa.Fill(dtsPlantas, "Plantas");
//cerrar la conexion
objConn.Close();
//return true;
}
}
catch (Exception ex)
{
//dtsPlantas = null;
}
return dtsPlantas;
}
SALUDOS Y FELIZ 2009 !!!!