使用C#将Excel数据导入DataSet并显示在DataGridVIew

4星 · 超过85%的资源 需积分: 31 28 下载量 95 浏览量 更新于2024-09-16 收藏 1KB TXT 举报
本文将介绍如何在C#编程环境下,通过使用DataSet和DataGridVeiw控件将Excel数据导入并显示。基础的DataTable和dataset操作是数据处理中的常见任务,尤其是在需要从Excel文件中读取数据并进行展示时。 在C#中,我们常常需要从Excel文件中获取数据并将其显示在用户界面中,如DataGridVeiw控件。以下是一个简单的示例,展示了如何实现这个功能: 首先,创建一个新的DataSet对象,用于存储从Excel文件读取的数据。代码中声明了一个名为`ds`的DataSet实例: ```csharp DataSet ds = new DataSet(); ``` 然后,通过使用OpenFileDialog对话框让用户选择Excel文件。当用户选择文件并点击“打开”按钮后,调用`daodata`方法读取Excel文件内容: ```csharp OpenFileDialog ofg = new OpenFileDialog(); // ... if (ofg.ShowDialog() == DialogResult.OK) { ds = daodata(ofg.FileName); this.dataGridView1.DataSource = ds.Tables[0]; } ``` 在`daodata`方法中,关键步骤是建立与Excel文件的连接,这通常通过OleDbConnection对象实现。这里使用了"Microsoft.Jet.OLEDB.4.0"提供程序,适用于较旧版本的Excel(Excel 97-2003)。连接字符串包含文件路径和扩展属性(ExtendedProperties),表示文件格式为Excel 8.0(即Excel 2003): ```csharp string conn = "Provider=Microsoft.Jet.OLEDB.4.0;ExtendedProperties=Excel8.0;DataSource=" + filename; OleDbConnection oleconn = new OleDbConnection(conn); ``` 接下来,创建一个SQL查询语句,用于选取Excel工作表中的所有数据。在这个例子中,选取的是默认的工作表[Sheet1$]: ```csharp string query = "select * from [Sheet1$]"; ``` 之后,创建OleDbCommand对象,用于执行查询,并通过OleDbDataAdapter填充DataSet: ```csharp OleDbCommand olecmd = new OleDbCommand(query, oleconn); OleDbDataAdapter oleda = new OleDbDataAdapter(olecmd); DataSet ds = new DataSet(); oleconn.Open(); oleda.Fill(ds); oleconn.Close(); ``` 最后,关闭数据库连接并返回填充后的DataSet。这样,数据就被加载到DataSet中,并可以通过设置DataGridVeiw的DataSource属性来显示: ```csharp return ds; ``` 这个过程演示了在C#中使用DataSet和DataGridVeiw读取并显示Excel数据的基本步骤。请注意,对于较新的Excel版本(2007及以上),应使用"Microsoft.ACE.OLEDB.12.0"提供程序替换"Microsoft.Jet.OLEDB.4.0"。此外,如果Excel文件有多个工作表,可以调整SQL查询语句中的表名以选择其他工作表。