C#程序读取Excel数据示例

需积分: 10 5 下载量 70 浏览量 更新于2024-09-26 收藏 50KB DOC 举报
“C#在Visual Studio环境下读取Excel文件的示例代码” 在软件开发中,经常需要处理数据,而Excel文件作为一种常见的数据存储格式,经常被用于存储和交换数据。在C#环境中,我们可以利用Visual Studio来读取Excel文件,以便进行数据处理或分析。以下是一个使用C#读取Excel文件的示例代码,它展示了如何通过ADO.NET的OleDb连接来实现这一功能。 首先,我们需要引用`System.Data.OleDb`命名空间,这是C#用来与不同数据源交互的库。然后,我们创建一个`OleDbConnection`对象,用于建立到Excel文件的连接。在示例代码中,字符串`strConn`定义了连接字符串,其中`Provider`指定了数据提供者(这里是Microsoft.ACE.OleDb.12.0,适用于较新的Excel文件),`DataSource`是Excel文件的路径,`ExtendedProperties`设置了数据表的属性,例如`HDR=YES`表示第一行作为列名。 ```csharp using System.Data.OleDb; ... string strConn = @"Provider=Microsoft.ACE.OleDb.12.0;Data Source=c:\测试图板.xlsx;ExtendedProperties='Excel 12.0;HDR=YES'"; ``` 接着,我们打开连接并创建一个`OleDbCommand`对象,指定SQL查询语句来从Excel工作表中选择数据。在这个例子中,`Select * From [Sheet1$]`表示从名为“Sheet1”的工作表中选取所有列。 ```csharp OleDbConnection objConn = new OleDbConnection(strConn); objConn.Open(); string strSql = "Select * From [Sheet1$]"; OleDbCommand objCmd = new OleDbCommand(strSql, objConn); ``` 为了获取数据,我们还需要一个`OleDbDataAdapter`对象,它可以将数据填充到`DataSet`中。然后,我们可以遍历`DataSet`中的数据,例如提取第一行的数据,并将其连接成一个字符串。 ```csharp OleDbDataAdapter sqlada = new OleDbDataAdapter(); sqlada.SelectCommand = objCmd; sqlada.Fill(data); string str = ""; for (int i = 0; i < data.Tables[0].Rows[0].ItemArray.Length; i++) { str += data.Tables[0].Rows[0].ItemArray[i].ToString() + "."; } Console.WriteLine(str); ``` 这段代码只是一个基本的读取Excel文件的例子,实际应用中可能需要处理更复杂的情况,如处理多个工作表、选择特定的列、处理日期和数字格式等。此外,对于旧版本的Excel文件(.xls),可能需要使用`Microsoft.Jet.OleDb.4.0`提供者,如注释中所示的连接字符串。 请注意,由于Office Interop库的使用可能会导致性能问题,特别是在服务器环境中,因此在处理大量数据时,推荐使用其他库,如EPPlus,或者将数据转换为CSV格式进行处理。在选择方法时,应根据项目需求和性能要求来决定最适合的解决方案。