en excel te toma como tablas los nombres de las hojas pero ademas de eso tienen agregado el signo de pesos ejemplo: hoja1 para trabajar con esa hoja como tabla su nombre seria hoja1$ puedes ver que tiene agregado el signo de pesos y mas, y las columnas las reconoce lo que tengas en la primera fila en este caso el nombre que pongas es el nombre de la columna no lleva agregado el signo de pesos.
Espero te ayude este codigo Saludos
mi correo
chuponsoft@gmail.com using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data;
using System.Data.OleDb;
namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
string strConnnectionOle = @"Provider=Microsoft.Jet.OLEDB.4.0;" +
@"Data Source=C:\libro1.xls;" +
@"Extended Properties=" + '"' + "Excel 8.0;HDR=YES" + '"';
OleDbConnection oleConn = new OleDbConnection(strConnnectionOle);
oleConn.Open();
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = oleConn;
cmd.Parameters.Add(new OleDbParameter("@NOMBRE", OleDbType.VarWChar, 20));
cmd.Parameters["@NOMBRE"].Value = NOMBRE.Text;
cmd.CommandText = "INSERT INTO [Hoja1$] (num) values (@NOMBRE)";
cmd.ExecuteNonQuery();
NOMBRE.Text = " ";
oleConn.Close();
dataGridView1.Refresh();
}
private void button2_Click(object sender, EventArgs e)
{
string strConnnectionOle = @"Provider=Microsoft.Jet.OLEDB.4.0;" +
@"Data Source=C:\libro1.xls;" +
@"Extended Properties=" + '"' + "Excel 8.0;HDR=YES" + '"';
OleDbConnection oleConn = new OleDbConnection(strConnnectionOle);
oleConn.Open();
OleDbDataAdapter orden;
DataSet tabla;
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = oleConn;
orden = new OleDbDataAdapter("select * from [Hoja1$]", oleConn);
tabla = new DataSet();
orden.Fill(tabla, "[Hoja1$]");
dataGridView1.DataSource = tabla;
dataGridView1.DataMember = "[Hoja1$]";
oleConn.Close();
}
private void button3_Click(object sender, EventArgs e)
{
string strConnnectionOle = @"Provider=Microsoft.Jet.OLEDB.4.0;" +
@"Data Source=C:\libro1.xls;" +
@"Extended Properties=" + '"' + "Excel 8.0;HDR=YES" + '"';
OleDbConnection oleConn = new OleDbConnection(strConnnectionOle);
oleConn.Open();
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = oleConn;
DataTable tabla;
tabla = oleConn.GetSchema("Tables");
DataColumn columna = tabla.Columns.Add(
"id", typeof (Int32));
columna.AutoIncrement = true;
columna.AutoIncrementSeed = 200;
columna.AutoIncrementStep = 3;
cmd.CommandText = "UPDATE [Hoja1$] SET id=" + columna;
cmd.ExecuteNonQuery();
oleConn.Close();
}
}
}