读取Excel表格数据到DataGridView中
其實(shí)想在datagridview中顯示excel表格中的數(shù)據(jù)跟讀取數(shù)據(jù)庫(kù)中的數(shù)據(jù)沒(méi)什么差別,只不過(guò)是創(chuàng)建數(shù)據(jù)庫(kù)連接的時(shí)候連接字段稍有差別。
private void btnShow_Click(object sender, EventArgs e)
??????? {
??????????? OpenFileDialog ofd = new OpenFileDialog();//首先根據(jù)打開文件對(duì)話框,選擇excel表格
??????????? ofd.Filter = "表格|*.xls";//打開文件對(duì)話框篩選器
??????????? string strPath;//文件完整的路徑名
??????????? if (ofd.ShowDialog() == DialogResult.OK)
??????????? {
??????????????? try
??????????????? {
??????????????????? strPath = ofd.FileName;
??????????????????? string strCon = "provider=microsoft.jet.oledb.4.0;data source=" + strPath + ";extended properties=excel 8.0";//關(guān)鍵是紅色區(qū)域
??????????????????? OleDbConnection Con = new OleDbConnection(strCon);//建立連接
??????????????????? string strSql = "select * from [Sheet1$]";//表名的寫法也應(yīng)注意不同,對(duì)應(yīng)的excel表為sheet1,在這里要在其后加美元符號(hào)$,并用中括號(hào)
??????????????????? OleDbCommand Cmd = new OleDbCommand(strSql, Con);//建立要執(zhí)行的命令
??????????????????? OleDbDataAdapter da = new OleDbDataAdapter(Cmd);//建立數(shù)據(jù)適配器
??????????????????? DataSet ds = new DataSet();//新建數(shù)據(jù)集
??????????????????? da.Fill(ds, "shyman");//把數(shù)據(jù)適配器中的數(shù)據(jù)讀到數(shù)據(jù)集中的一個(gè)表中(此處表名為shyman,可以任取表名)
??????????????????? //指定datagridview1的數(shù)據(jù)源為數(shù)據(jù)集ds的第一張表(也就是shyman表),也可以寫ds.Table["shyman"]
dataGridView1.DataSource = ds.Tables[0];
??????????????? }
??????????????? catch (Exception ex)
??????????????? {
??????????????????? MessageBox.Show(ex.Message);//捕捉異常
??????????????? }
??????????? }
??????? }
運(yùn)行結(jié)果如下:
轉(zhuǎn)載于:https://www.cnblogs.com/gisland/archive/2009/03/17/1414209.html
總結(jié)
以上是生活随笔為你收集整理的读取Excel表格数据到DataGridView中的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: AJAX中日历控件的应用
- 下一篇: c#索引器介绍|C#索引器写法|c#索引