openFileDialog1.InitialDirectory = @"e:\学生会资料";//默认目录
//筛选文件类型 1.分别筛选多种文件类型格式:文件类型名字|*.扩展名|文件类型名名字|*.扩展名 2.一次筛选多种文件类型格式:文件类型名字|*.扩展名; *.扩展名
openFileDialog1.Filter = "Excel文件|*.xls;*.xlsx";
openFileDialog1.Title = "浏览";//显示在对话框标题栏中的字符
openFileDialog1.RestoreDirectory = true;//是否恢复当前目录,不常用
if (openFileDialog1.ShowDialog() == DialogResult.OK)//判断是否点了确定按钮
{
string Route = openFileDialog1.FileName;//获取文件绝对路径
string fileExt=Path.GetExtension(Route);//获取文件后缀名
string str = null;
str = TabelName(Route);//获取第一个表名,此方法是自己编写的
if (fileExt==".xls")//判断文件后缀名,设置相应的连接字符串
{
//HDR=NO 表示表中无字段,就会自动生成F1,F2.....
//HDR=yes 即有字段,即将第一行设为字段,默认值为YES
str = "Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source =" + Route + ";Extended Properties='Excel 8.0;HDR=YES;IMEX=0'";
}
//以.xlsx为后缀,应该将Jet改为Ace,4.0改为12.0, 8.0改为12.0.
else if (fileExt==".xlsx")
{
str = "Provider = Microsoft.ACE.OLEDB.12.0 ; Data Source =" + Route + ";Extended Properties='Excel 12.0;HDR=YES;IMEX=0'";
}
DataSet ds=new DataSet();//用于存放数据
OleDbConnection con=new OleDbConnection(str);//创建连接对象
con.Open();//打开连接
string sql = "select * from ["+str+"]";//SQL语句
OleDbDataAdapter da=new OleDbDataAdapter(sql,con);//数据适配器
con.Close();//关闭连接
da.Fill(ds);//将查询出的结果填充到DataSet中
dataGridView1.DataSource = ds.Tables[0];//绑定数据源
}
网友评论