C#读取Excel数据

2018-08-26  本文已影响0人  INSO8
      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];//绑定数据源
                }
上一篇下一篇

猜你喜欢

热点阅读