C#如何实现读取excel表格中的数据并显示
使用C#读取Excel文件,在日常开发当中,我们经常会用到,下面的例子是使用OLEDB读取Excel内容,并且把内容显示到一个dataGridView中去。
操作方法
- 01
新建一个form,添加一个button,和一个dataGridView。
- 02
新建一个Excel文档,这里是一个例子,文件
- 03
读取Excel表内容,并且以dataset返回。 public DataSet getData() { //打开文件 OpenFileDialog file = new OpenFileDialog(); file.Filter = "Excel(*.xlsx)|*.xlsx|Excel(*.xls)|*.xls"; file.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); file.Multiselect = false; if (file.ShowDialog() == DialogResult.Cancel) return null; //判断文件后缀 var path = file.FileName; string fileSuffix = System.IO.Path.GetExtension(path); if (string.IsNullOrEmpty(fileSuffix)) return null; using (DataSet ds = new DataSet()) { //判断Excel文件是2003版本还是2007版本 string connString = ""; if (fileSuffix == ".xls") connString = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + path + ";" + ";Extended Properties=\"Excel 8.0;HDR=YES;IMEX=1\""; else connString = "Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + path + ";" + ";Extended Properties=\"Excel 12.0;HDR=YES;IMEX=1\""; //读取文件 string sql_select = " SELECT * FROM [Sheet1$]"; using (OleDbConnection conn = new OleDbConnection(connString)) using (OleDbDataAdapter cmd = new OleDbDataAdapter(sql_select, conn)) { conn.Open(); cmd.Fill(ds); } if (ds == null || ds.Tables.Count <= 0) return null; return ds; } }
- 04
Button代码: private void button1_Click(object sender, EventArgs e) { dataGridView1.DataSource = null; //每次打开清空内容 DataTable dt = getData().Tables[0]; dataGridView1.DataSource = dt; }
- 05
打开刚刚建立的Excel,也就是我们的目标Excel文档。
- 06
效果如图,内容显示在datagridview中