C# 读取Execl和Access数据库

第一次写,请大家指教!!话不多说 直接走代码!

 1         /// <summary>
 2         /// 打开文件
 3         /// </summary>
 4         /// <param name="sender"></param>
 5         /// <param name="e"></param>
 6         private void btn_file_Click(object sender, EventArgs e)
 7         {
 8             OpenFileDialog openFile = new OpenFileDialog();
 9             openFile.Filter = "Execl(*.xls)|*.xls|accdb(*.accdb)|*.accdb";
10             if (openFile.ShowDialog() == DialogResult.OK) {
11                 SelectInfo(openFile.FileName);
12             }
13         }
 1 /// <summary>
 2         /// 读取数据
 3         /// </summary>
 4         /// <param name="path"></param>
 5         public void SelectInfo(string path) {
 6             string Suffix = Path.GetExtension(path);
 7             //string tabName = "Student";
 8             string tabName = "";  //查询的表名 建议在窗体上面 加一个textbox控件
 9             if (tabName.Equals(""))
10             {
11                 tabName += "[sheet1$]";
12             }
13             string strConn = string.Empty;
14             //path = Environment.CurrentDirectory;
15             switch (Suffix)
16             {
17                 case ".xls":
18                     strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + ";Extended Properties='Excel 8.0;HDR=No;IMEX=1;'";
19                     //tabName += "$";
20                     break;
21                 case ".xlsx":
22                     strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + ";Extended Properties='Excel 8.0;HDR=False;IMEX=1'";
23                    // tabName += "$";
24                     break;
25                 case ".mdb":
26                     strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path;
27                     break;
28                 case ".accdb"://Access2007
29                     strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source="+path;
30                     break;
31                 default:
32                     break;
33             }
34             OleDbConnection oledbConn = new OleDbConnection(strConn);
35             try
36             {
37              //   oledbConn.Open();
38                 string sql = "Select * from " + tabName;
39                 OleDbDataAdapter oledbDa = new OleDbDataAdapter(sql, oledbConn);
40                 DataSet ds = new DataSet();
41                 oledbDa.Fill(ds,"信息");
42                 this.dgv_Info.DataSource = ds.Tables["信息"];
43             }
44             catch (Exception)
45             {
46                 
47                 throw;
48             }
49             finally {
50                 oledbConn.Close();
51             }
52         }

运行效果:

 

 

 

适合初学者。第一次写,大神不要吐槽呀。。。。

 

 

posted @ 2014-06-05 13:59  疯痴傻  阅读(202)  评论(0编辑  收藏  举报