" ------- android培训、java培训、期待与您交流! ----------"
//一.引用命名空间 using System.Data.OleDb;
//二.主要代码
/// <summary>
/// 使用ADO.NET将Excel表中的数据导入到数据库和dataGridView中
/// </summary>
public void ExcelImput()
{
//此集合用于存放从Excel表中读取出的学生信息
List<Student> stuList = new List<Student>();
/*连接字符串(此链接Excel是2007版本的,如果Excel是2003版本的就将"Microsoft.ACE.OLEDB.12.0"改成"Microsoft.Jet.OLEDB.4.0")
*<Data Source=I:\学生信息表1.xlsx;>是完整路径
*<HDR>表示是否把第一行作为列名
*<Excel 12.0>是Excel2007的版本号
*/
string connString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=I:\学生信息表1.xlsx;Extended Properties='Excel 12.0;HDR=YES;IMEX=1'";
//1.创建连接
OleDbConnection conn = new OleDbConnection(connString);
//2.操作Excel的sql语句
string sql = string.Format("select * from [student$]");//此处表名后必须加上'$'符号
try
{
//3.打开连接
conn.Open();
//4.创建OleDbCommand对象
OleDbCommand cmd = new OleDbCommand(sql, conn);
//5.执行
OleDbDataReader dr = cmd.ExecuteReader();
//6.读取信息
while (dr.Read())
{
Student stu = new Student();
stu.StudentNo = Convert.ToInt32(dr[0]);
stu.LoginPwd = dr[1].ToString();
stu.StudentName = dr[2].ToString();
stu.Sex = (Genders)Enum.Parse(typeof(Genders), dr[3].ToString());
stu.GradeId = Convert.ToInt32(dr[4]);
stu.Phone = dr[5].ToString();
stu.Address = dr[6].ToString();
stu.BornDate = Convert.ToDateTime(dr[7]);
stu.Email = dr[8].ToString();
stu.IdentityCard = dr[9].ToString();
//添加到集合中
stuList.Add(stu);
//插入到数据库中
StudentManager.GetAddStudent(stu);
}
//7.关闭OleDbDataReader,释放资源
dr.Close();
}
catch (Exception ex)
{
throw;
}
finally
{
//8.关闭Conn,释放资源
conn.Close();
}
//绑定到dataGridView中
this.dataGridView1.DataSource = new BindingList<Student>(stuList);
因为是学生...基本很少用上EXCEL..但是外面可能用的多..所以收藏以便自己熟悉!
}